2017-12-09, 19:48
  #1
Medlem
Tjo.. Håller på med ett java spel och behöver hjälp med ett sätt till hur mycket xp man behöver till nästa level.
Just nu har jag den här som jag inte är nöjd med:

double nextlevel = level * level * 100 * 0.10;

if(xp >= nextlevel){
level++;
}

Jag är ute efter något sånt här eller liknande:
level 1 = 100 xp
level 2 = 300 xp
level 4 = 600xp
level 5 = 1000 xp
level 6 = 1500 xp osv..

sorry för min dåliga stavning.
Citera
2017-12-09, 20:08
  #2
Medlem
4yoonlys avatar
Antingen får du göra en kurva som du själv anser fungerar med de levlar du skapat, eller köra logaritmiskt... eller göra som du gjort med en procent skala.

Kurvan är nog mer vältänkt och du kan anpassa den efter dina maps (alla kanske är lite olika svåra så att säga...)
Citera
2017-12-09, 23:04
  #3
Medlem
Citat:
Ursprungligen postat av axxor
Tjo.. Håller på med ett java spel och behöver hjälp med ett sätt till hur mycket xp man behöver till nästa level.
Just nu har jag den här som jag inte är nöjd med:

double nextlevel = level * level * 100 * 0.10;

if(xp >= nextlevel){
level++;
}

Jag är ute efter något sånt här eller liknande:
level 1 = 100 xp
level 2 = 300 xp
level 4 = 600xp
level 5 = 1000 xp
level 6 = 1500 xp osv..

sorry för min dåliga stavning.

Finns det oändligt med levlar? Inte? Hårdkoda istället? Varför spendera en massa tid på sådant.
Citera
2017-12-10, 03:46
  #4
Bannlyst
Citat:
Ursprungligen postat av axxor
Jag är ute efter något sånt här eller liknande:
level 1 = 100 xp
level 2 = 300 xp
level 4 = 600xp
level 5 = 1000 xp
level 6 = 1500 xp osv..

Formeln är 50x² + 50x (http://www.wolframalpha.com/input/?source=nav&i=cubic+fit+%7B100,+300,+600,+1000,+15 00%7D).

C++:

Kod:
/* öka xp efter t.ex. en fight */
while (xp >= nextXpLimit) {
    level++;
    nextXpLimit = 50 * level * level + 50 * level;
    cout << "YOU LEVELED UP TO " << level;
}

Kom ihåg att initiera variabeln nextXpLimit i början av programmet, gärna i samband med att du initierar variabeln level eftersom de två hör ihop.
Citera
2017-12-10, 09:22
  #5
Medlem
Citat:
Ursprungligen postat av SuperSizeMe
Formeln är 50x² + 50x (http://www.wolframalpha.com/input/?source=nav&i=cubic+fit+%7B100,+300,+600,+1000,+15 00%7D).

C++:

Kod:
/* öka xp efter t.ex. en fight */
while (xp >= nextXpLimit) {
    level++;
    nextXpLimit = 50 * level * level + 50 * level;
    cout << "YOU LEVELED UP TO " << level;
}

Kom ihåg att initiera variabeln nextXpLimit i början av programmet, gärna i samband med att du initierar variabeln level eftersom de två hör ihop.
Tack så mycket!!
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in