java - 如何在另一个变量超过某个值时向变量添加增量?

标签 java eclipse increment

我正在为自己编写一个程序,用于学习java。这是某种实验。它有玩家、 Action 、怪物、元素、游戏玩法等类。在我的类播放器中,我添加了一个构造函数,我将其称为 lvlUp,并带有参数 exp。我的问题是,当我想在玩家达到 100 exp、200 exp、300 exp 等时增加他的 lvl 时,我必须写什么。当他有 100 exp 时,他会升一级,当他有 200 exp 时,他会升一级。 ,他获得 2 级提升,等等。顺便说一句,exp是随机的,所以我也想打印出剩余的exp。例如,他杀死一个怪物并获得 245 exp,这应该是 2 lvl ups 和 45 exp。这是我的 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++;

最佳答案

首先,你必须弄清楚玩家应该升级多少级。要计算该值,请除以 100。

int levels = exp / 100;

由于这是整数算术,它会为您截断。 (因此,在您的 exp = 245 示例中,级别将为 2。

接下来,使用该值来计算用户还剩下多少体验。

exp = exp - (levels * 100);

最后,添加新级别。

this.lvl += levels;

关于java - 如何在另一个变量超过某个值时向变量添加增量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53546526/

相关文章:

android - 在 Eclipse/Preference 下找不到 Android

eclipse - 如何在 Java 8 上运行的 Eclipse 4.3 中使用 PMD 插件

Android 无法将 R 解析为变量

c - 为什么这些构造使用增量前和增量后未定义的行为?

python - 如何使用增量值向 Pyspark 中的 DataFrame 添加一列?

java - 在迭代循环中使用字节是否更有效?

java - 在 Android 上显示简单的位图

Matlab:使用索引增加矩阵值

Java Selenium 获取带有特殊字符的 URL

java - 使用 twitter4j 搜索 100 多个查询