XP calculator
Hallo allemaal,
Voor een vriend van me ging ik een XP calculator voor runescape in elkaar zetten.
Was allemaal niet zo moeilijk en uiteindelijk kwam ik tot dit:
Het zal vast niet het beste zijn wat bedacht kan worden maar goed.
Het werkt ook aardig. Nu is mijn probleem alleen: hij geeft steeds als ik een level uitreken niet een vreselijk betrouwbaar antwoord. de ene keer klopt het wel, de andere keer juist helemaal niet. Zelfs als ik het met mijn rekenmachine (grafisch) nareken, krijg ik niet het goede antwoord eruit. het scheelt elke keer ongeveer 1. En die afwijking wordt groter naarmate je grotere levels uitrekent.
Omdat de formule (die je hier kunt vinden:http://www.lunagang.nl/skills.php) met sommaties (Wikipedia:http://nl.wikipedia.org/wiki/Sommatie) werkt, gebruik ik een for loop.
Kan iemand mij vertellen wat ik verkeerd doe of over het hoofd zie?
Cornel
Voor een vriend van me ging ik een XP calculator voor runescape in elkaar zetten.
Was allemaal niet zo moeilijk en uiteindelijk kwam ik tot dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Het zal vast niet het beste zijn wat bedacht kan worden maar goed.
Het werkt ook aardig. Nu is mijn probleem alleen: hij geeft steeds als ik een level uitreken niet een vreselijk betrouwbaar antwoord. de ene keer klopt het wel, de andere keer juist helemaal niet. Zelfs als ik het met mijn rekenmachine (grafisch) nareken, krijg ik niet het goede antwoord eruit. het scheelt elke keer ongeveer 1. En die afwijking wordt groter naarmate je grotere levels uitrekent.
Omdat de formule (die je hier kunt vinden:http://www.lunagang.nl/skills.php) met sommaties (Wikipedia:http://nl.wikipedia.org/wiki/Sommatie) werkt, gebruik ik een for loop.
Kan iemand mij vertellen wat ik verkeerd doe of over het hoofd zie?
Cornel
De berekening gaat volgens mij niet helemaal goed.
Dat zou moeten werken... :-)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
$xp = 0;
$i = 1;
$o = 3;
for($i = 1; $i < $o; $i++){
$e1 = $i / 7;
$e2 = pow(2,$e1);
$e3 = $e2 * 300;
$e4 = $e3 + $i;
$e5 = floor($e4);
$xp += $e5;
}
$xp = floor($xp / 4);
echo $xp
$i = 1;
$o = 3;
for($i = 1; $i < $o; $i++){
$e1 = $i / 7;
$e2 = pow(2,$e1);
$e3 = $e2 * 300;
$e4 = $e3 + $i;
$e5 = floor($e4);
$xp += $e5;
}
$xp = floor($xp / 4);
echo $xp
Dat zou moeten werken... :-)
Gewijzigd op 01/01/1970 01:00:00 door Tim
bedankt!
Dat was het probleem ja.
Cornel
Dat was het probleem ja.
Cornel
Of, gewoon met 1 regel in de for loop:
;-)
Code (php)
;-)
@Lode: Ook leuk met een foreach(). De vergelijking op regel 6 is overbodig.
Gewijzigd op 01/01/1970 01:00:00 door - SanThe -
Ik had het niet getest inderdaad...
Maar ik zag in die loop wel optimalisatie mogenlijk...
Maar ik zag in die loop wel optimalisatie mogenlijk...
Haha, bedankt voor de reacties! Ik waardeer dat echt.
Cornel
Cornel




