RPG mod
-
@Nolan-XX, on a pas les accès nécessaires pour cliquer sur ton lien.
-
Moi j’aurai plutot fait
public class Player { public int Exp; public int Level; { if (Exp == 100) { Level +=1; } { if (Exp == 200) // 100 xp en plus { Level +=1; } { if (Exp == 500) // 300 xp en plus { Level +=1; } }Moins de variable a géré ^^
Pourquoi généré plusieurs pallier d’xp par level ? Tu change juste le level par rapport a l’xp accumulé

-
Il a sans doute, fais ce système pour éviter une succession interminable de condition comme tu fais.
@Nolan-XX, convention JAVA, non-respecté, par contre.
-
Superloup10 a tout dit.
Sinon : https://docs.google.com/spreadsheet/ccc?key=0AmWLrgt15yz4dDJEaGNSbG02a2M4dm9TajY4MDZUQ1E&usp=sharing
j’avais pas ouvert le truc aux visiteurs. -
Bah, si tu regarde bien, il le fait aussi cette “succession interminable de condition”
if (Level == 1) { NextLevel = 100; Dernier = NextLevel; }donc suivra sont if level == 2, if level == 3, etc etc
-
Non, c’est juste pour initialiser.
-
Ouai… Je viens de le voire… Autant pour moi -_-
-
Question: ton système de level, on à le droit de le prendre pour nos mod?
-
“ce système de level” n’est même pas encore crée, c’est juste des variables, donc oui
-
Ok merci

-
Moi je veut bien t’aider. Je prévoyais aussi un truc de ce genre donc…
-
Tes variables de classes doivent être privées, et doivent commencer par une minuscule.
Pour moi utiliser une suite et une meilleur idée que foutre plein de if a la chaîne, vu que la mise a échelle de la seconde méthode laisse à désirer
-
Bien que ma façon de coder soit largement discutable, il y certains points que je pense pouvoir améliorer. Si tu permets…
@‘Nolan-XX’:
Voila l’équation qui gère l’exp, vous en pensez quoi ? ( au passage, je crois avoir fait des erreurs … )
package assets.rpg.Data; public class Player { public int Exp; public int NextLevel; public int Level; public int Suiv; public int Dernier; { if (Level == 1) { NextLevel = 100; Dernier = NextLevel; } if (Exp == NextLevel) { Level += 1; Suiv = Level +=1; NextLevel = 225 * 50*Suiv + Dernier ; Dernier = NextLevel; } }}Voila ce que ça donnerait : https://docs.google.com/spreadsheet/ccc?key=0AmWLrgt15yz4dDJEaGNSbG02a2M4dm9TajY4MDZUQ1E#gid=0
Non pitié !!
Par convention, seuls les noms d’objets (classes) portent une majuscule en premier caractère.
Noms de classe : TestClass, ListSuper, MinecraftCheat
Noms de variables : testObject, mySuperList, minecraftForgeFrance
Exception pour les variables “static final” :public static final String MA_SUPER_CHAÎNE = "";Donc ça donne :
public class Player { private int exp, nextLevel, level, suiv, dernier; public Player(){ if (level == 1){ nextLevel = 100; dernier = nextLevel; } if (exp == nextLevel){ ++level; suiv = level + 1; nextLevel = 11250 * suiv + dernier ; dernier = nextLevel; } } }Si tes variables ne sont utilisées que dans l’objet Player, il faut les déclarer private (d’ailleurs, dans 80% des cas il faut les déclarer private). De plus je vois pas pourquoi ce code est déclaré en initialisation VM, tu manges de la mémoire pour rien. Le mieux est de le placer en constructeur comme je l’ai fait. J’ai corrigé aussi quelques erreurs de syntaxe.
Pourquoi “225 * 50 * suiv + dernier” ?
Il faut faire le moins de calculs possibles à l’ordinateur alors autant anticiper : 225 * 50 = 11250. Bref, je suis sûr qu’il y a des erreurs logiques encore, la répétition des “dernier = nextLevel” oblige. En expliquant ton but je pourrai mieux t’aider
