作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个玩家控制的对象,其生命值设置为 100。敌人每击中一次,它就会下降。问题是,在生命值达到 0 后,它仍然会进一步陷入负面状态。我有一个弹出窗口集
private void playerHealth(){
if (player.health <= 0)
JOptionPane.showMessageDialog(null, "you lose");
System.exit(0);
}
所以理论上,它应该在健康值 <=0 后弹出。但是,当我尝试运行它时,它会立即打开和关闭。我一瞬间就能看到 window 。如果我删除
JOptionPane.showMessageDialog(null, "you lose");
System.exit(0);
并将其替换为,
player.isAlive = false;
(玩家、敌人和所有子弹的 isAlive 设置为 true),生命值将继续减少到负值以上。
这部分也可能有帮助:它是删除死去的敌人和子弹的代码,对于玩家来说没有类似的东西,所以这可能是问题所在。
private void removeDead(){
for (int i = 0; i <bullets.size(); i++){
if (bullets.get(i).isAlive == false )
bullets.remove(i);
}
for (int i = 0; i <mobs.size(); i++){
if (mobs.get(i).isAlive == false )
mobs.remove(i);
}
for (int i = 0; i <mobBullets.size(); i++){
if (mobBullets.get(i).isAlive == false )
mobBullets.remove(i);
}
bullets.trimToSize();
mobs.trimToSize();
mobBullets.trimToSize();
}
因此,我们非常感谢任何帮助。谢谢。 (所有代码都来自在线教程,这就是为什么我什么都不知道。)
最佳答案
如果您希望执行这两个语句,请将它们放在一个 block 中:
private void playerHealth() {
if (player.health <= 0) {
JOptionPane.showMessageDialog(null, "you lose");
System.exit(0);
}
}
如果没有花括号,System.exit(0);
不是 if 语句的一部分,并且将始终被执行,这解释了 it just opens and closes immediately.
关于java - 为什么满足 "if ... <=0"标准时没有任何反应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30729651/
我有一个包含三个表的简单数据库。在数据库中,我有一个用于系统用户的表、一个用于竞赛应用程序的表,以及一个允许我跟踪哪些用户选择了要查看的应用程序的中间表。 表 1 = 用户(user_id、用户名、第
我是一名优秀的程序员,十分优秀!