JeuWeb - Crée ton jeu par navigateur
requête mysql - classement - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : requête mysql - classement (/showthread.php?tid=2658)

Pages : 1 2


RE: requête mysql - classement - QuentinC - 25-06-2008

C'est pas un peu compliqué pour ce qu'on cherche ?

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, ...


RE: requête mysql - classement - Anthor - 25-06-2008

Avons-nous dit que c'était le plus simple ?
Le sujet était-il d'éviter une boucle ?

Est-ce que c'est pas plus intéressant de proposer de découvrir de nouvelles fonctions, plutôt qu'une boucle ?


RE: requête mysql - classement - keke - 25-06-2008

+1 anthor !

Magdales utilise un autre algorithme (plus simple) pour ses niveaux ...
N0 = 100
NX = NX-1 + ( X * 10 )

N1 = 210
N2 = 320
.
.
.

M'enfin, juste pour dire que ... bon, réellement je sors -> []


RE: requête mysql - classement - Flag62 - 25-06-2008

+1 anthor --> vive la découverte et l'apprentissage
Mon jeu utilise un autre algorithme (encore plus simple que keke) pour ses niveaux ... :hahahaha:
N0 = 0
NX = NX*10

N1 = 10
N2 = 20
.
.
.
... bon, ok je te suis keke -> []


RE: requête mysql - classement - QuentinC - 25-06-2008

Citation :Est-ce que c'est pas plus intéressant de proposer de découvrir de nouvelles fonctions, plutôt qu'une boucle ?
Intéressant, je ne dis pas le contraire, tu as 100% raison. D'ailleurs ce bout de code est en soi «joli ». Mais efficace, ça reste à prouver. Je n'avais pas vu ta proposition sous cet angle-là.

Je m'excuse si j'ai froissé quelqu'un avec mon message de ce matin, j'ai peut-être posté un peu vite... j'ai la gâchette facile, si vous me passez l'expression. Cela ne signifie pas pour autant que je suis un floodeur, je vous rassure tout de suite.


RE: requête mysql - classement - Anthor - 25-06-2008

Il n'y a pas de problèmes ^^