25-06-2008, 09:26 AM
C'est pas un peu compliqué pour ce qu'on cherche ?
Mais bon, ça serait mieux de se baser sur une formule à calcul direct. P.ex.
xp niveau n = 100 * 1.7^n
ce qui permet de revenir en arrière très facilement :
niveau actuel = log(xp/100)/log(1.7)
En plus ça permet un nombre de niveaux infini.
L'exemple ci-dessus donnerait la progression suivante :
100, 170, 289, 491, 835, 1420, 2414, ...
Code :
<?php
function getLevel ($curXp) {
static $xpArray = array(0, 200, 500, 1200, 3000, 7000);
$count = 0;
while ($xpArray[$count+1]<$curXp) $count++;
return $count;
}
?>
Mais bon, ça serait mieux de se baser sur une formule à calcul direct. P.ex.
xp niveau n = 100 * 1.7^n
ce qui permet de revenir en arrière très facilement :
niveau actuel = log(xp/100)/log(1.7)
En plus ça permet un nombre de niveaux infini.
L'exemple ci-dessus donnerait la progression suivante :
100, 170, 289, 491, 835, 1420, 2414, ...
html, javascript, blagues, midi, etc. => http://quentinc.net/