Je codage d'un programme pour moi-même, pour apprendre java. Il est une sorte d'expérience. Il a des classes comme joueur, actions, monstres, objets, gameplay. Dans mon lecteur de classe, j'ai ajouté un constructeur que j'ai appelé lvlUp avec le paramètre exp. Ma question est, qu'est-ce que je dois écrire quand je veux augmenter le lvl d'un joueur quand il atteint 100 exp, 200 exp, 300 exp etc. Quand il a 100 exp, il obtient un niveau plus haut, quand il a 200 exp , il obtient 2 ups lvl, etc.. BTW, l'exp est aléatoire, donc je voudrais imprimer le reste exp ainsi. Par exemple, il tue un monstre et gagne 245 exp, qui devrait être 2 lvl ups et 45 exp. ceci est mon code atm:
public int lvlUp(int exp) {
if (exp < 100) {
System.out.println("LvL: " + this.lvl + " You have " + exp + " experience!");
} else if (exp == 100) {
System.out.println("Level up !!!");
exp = 0;
this.lvl++;
} else if (exp > 100) {
System.out.println("Level up !!!");
exp = exp - 100;
this.lvl++;
System.out.println("LvL: " + this.lvl + " You have " + exp + " experience!");
}
return this.lvl++;
Tout d'abord, vous devez savoir combien de niveau ups le joueur devrait obtenir. Pour calculer que, diviser par 100.
int levels = exp / 100;
Puisque c'est entier arithmétique, il tronque pour vous. (Donc , dans votre exemple exp = 245
, le niveau sera 2.
Ensuite, utilisez cette valeur pour savoir combien l'expérience de l'utilisateur a laissé subsister.
exp = exp - (levels * 100);
Enfin, ajouter les nouveaux niveaux.
this.lvl += levels;