Comment ajouter à une variable incrémentation aussi souvent que l'autre dépasse une certaine valeur?

Larry:

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++;
Bill le lézard:

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;

Je suppose que tu aimes

Origine http://43.154.161.224:23101/article/api/json?id=232409&siteId=1
conseillé
Classement