Salut,
la présentation, cela aiderait (car cela prouver que tu veux t'intégrer dans la communauté; bien que l'idée d'un "stack overflow, servez-vous" pour les jeux web serait intéressante).
Sinon, la question est vague et le problème est donc mal définit:
- Tu cherches à calculer les points d'XP du joueur à partir de ces items? Auquel cas, il s'agit d'un simple SUM(item.count * item.points) (oui, je cause SQL quand il s'agit de manipuler les donneés, car c'est hallucinant de performances O.o)
- Tu cherches à déterminer le niveau du joueur en fonction de ses points d'XP? C'est du game design (tu trouveras sûrement des pistes sur mon blog prise-de-notes), et il n'y a donc pas de réponse universelle. Il te faut seulement fixer une fonction mathématique f sous la forme Niveau = f(XP). Ca peut être simplement linéaire Niveau = XP/100, polynomial Niveau = sqrt(XP) ou exponentiel/logarithmique Niveau = log10(XP). Les deux dernières menant à une explosion exponentielle (cf le blog, je n'ai pas l'adresse exacte de l'article ici) qui risque de lasser les joueurs une fois au niveau 8...
- Tu cherches à déterminer le nombre de points pour passer au niveau suppérieur? Alors, c'est le même principe que précédemment, en inversant la fonction f(XP), pour avoir XP = f-1(Niveau), et faire f-1(NiveauActuel + 1) - f-1(Niveau). Ou cela peut se voir en te répondant "ben, c'est toi qui choisit combien de points il faut pour passer du niveau 1 au niveau 2" (en le stockant soit sous forme de fonction, soit dans un tableau de valeurs type "niveau_actuel, xp_pour_niveau_suivant").
la présentation, cela aiderait (car cela prouver que tu veux t'intégrer dans la communauté; bien que l'idée d'un "stack overflow, servez-vous" pour les jeux web serait intéressante).
Sinon, la question est vague et le problème est donc mal définit:
- Tu cherches à calculer les points d'XP du joueur à partir de ces items? Auquel cas, il s'agit d'un simple SUM(item.count * item.points) (oui, je cause SQL quand il s'agit de manipuler les donneés, car c'est hallucinant de performances O.o)
- Tu cherches à déterminer le niveau du joueur en fonction de ses points d'XP? C'est du game design (tu trouveras sûrement des pistes sur mon blog prise-de-notes), et il n'y a donc pas de réponse universelle. Il te faut seulement fixer une fonction mathématique f sous la forme Niveau = f(XP). Ca peut être simplement linéaire Niveau = XP/100, polynomial Niveau = sqrt(XP) ou exponentiel/logarithmique Niveau = log10(XP). Les deux dernières menant à une explosion exponentielle (cf le blog, je n'ai pas l'adresse exacte de l'article ici) qui risque de lasser les joueurs une fois au niveau 8...
- Tu cherches à déterminer le nombre de points pour passer au niveau suppérieur? Alors, c'est le même principe que précédemment, en inversant la fonction f(XP), pour avoir XP = f-1(Niveau), et faire f-1(NiveauActuel + 1) - f-1(Niveau). Ou cela peut se voir en te répondant "ben, c'est toi qui choisit combien de points il faut pour passer du niveau 1 au niveau 2" (en le stockant soit sous forme de fonction, soit dans un tableau de valeurs type "niveau_actuel, xp_pour_niveau_suivant").