Vinnaren i pepparkakshustävlingen!
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
Avstängd
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/?s...+1000,+1500%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/?s...+1000,+1500%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

Stöd Flashback

Flashback finansieras genom donationer från våra medlemmar och besökare. Det är med hjälp av dig vi kan fortsätta erbjuda en fri samhällsdebatt. Tack för ditt stöd!

Stöd Flashback