java - 值(value)增加 1 会永远持续下去

标签 java android if-statement increment

所以,我已经花了很长时间来编写这段代码。我确信必须有一个简单的方法来解决这个问题,但我现在想不出什么。首先是一小段代码:

        if(Settings.totalHits >= 50 && Settings.totalHits <= 99)
        {
           Settings.medal1 = true;
           Settings.save(game.getFileIO());
           totalMedals = totalMedals + 1;
        }

这是一个非常基本的成就/奖章系统。基本上,一旦用户完成总共 50 次点击,就会将“medal1”的值设置为 true,这将删除仅在 Medal1 = false 时显示的“锁定”图像。

该问题涉及总奖牌数部分。基本上,一个用户总共可以获得 32 枚奖牌,解锁一枚后,需要将totalMedals 更新 1。所以在这种情况下,输出将为“1/32”。只不过,现在勋章解锁后(达到 50 枚),锁定图像已正确删除,但总勋章数量继续以极快的速度增加 1,而不是仅仅增加到“1”并停止。

就像我说的,一定有一些小东西我在这里忽略了。我尝试进入 for 循环,但这不起作用(或者我做错了)。知道我可以改变什么来解决这个问题吗?

最佳答案

而不是

if(Settings.totalHits >= 50 && Settings.totalHits <= 99)

尝试:

if(Settings.totalHits >= 50 && Settings.totalHits <= 99 && !Settings.medal1)

这样勋章一旦触发,就无法再次触发。因此,totalMedals 仅增加一次。

关于java - 值(value)增加 1 会永远持续下去,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16182859/

相关文章:

java - 插入时oracle + java编码问题

java - Scala 中的多值赋值行为

android 谷歌地图不加载 map

android - 如何在 android 中绘制到 Canvas 的多个图像之间旋转特定图像?

按下按钮时 Java 重新绘制

java - 用最少的字符表示长

android - 当列表中的项目最小然后屏幕大小时,无尽滚动 RecyclerView 不工作

javascript - 如何将带有嵌套 if 语句的 if-else 语句转换为一个三元语句?

java - 如何使用JAVA编写更优化和通用而不是200个if条件?

Java 二维数组 for 循环