- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
一些背景信息,我是编程新手,仍在学习,所以我为我犯的小错误道歉。我正在制作自己的基于文本的游戏只是为了进一步练习等。
以下是 Dropbox 上所有内容的链接,以了解更多背景信息: https://www.dropbox.com/sh/uxy7vafzt3fwikf/B-FQ3VXfsR
我目前正在尝试为我的游戏实现战斗系统,但遇到了战斗序列未在需要时结束的问题。 “战斗序列”是一个 while 循环,如下所示:
public void startCombat()
{
inCombat = true;
while(inCombat != false)// && herohealth > 0 && monsterhealth > 0)
{
checkAlive();
heroHitMonster();
checkAlive();
monsterHitHero();
}
attackinghero.setHeroHealth(herohealth);
attackedmonster.setMonsterHealth(monsterhealth);
}
其中checkAlive()方法如下:
public void checkAlive()
{
if(herohealth <= 0)
{
System.out.println("You have died.");
attackinghero.clearInventory();
inCombat = false;
}
else if(monsterhealth <= 0)
{
System.out.println("You have killed the "+attackedmonster.getmonsterName()+"!");
inCombat = false;
combatlocation.removeMonster(attackedmonster.getmonsterName());
}
else
{
//
}
}
我试图让它在“英雄”或“怪物”生命值<= 0时结束战斗序列,然而,它目前正在完成 while 循环,因此即使英雄在第一次攻击中杀死了怪物,也会产生英雄被击中的结果。
这就是当前正在“打印到屏幕上”的内容
老鼠失去 5 点生命值!你已经杀死了老鼠!
英雄失去 1 点生命值!
非常感谢任何帮助,提前致谢。
最佳答案
checkAlive 不应该是 void 它应该是 boolean 值并且应该返回 inCombat,并且在你的函数 startCombat 中你应该做 inCombat=checkAlive();
关于java - while 循环在需要时未结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21809453/
在我们的数据库表上,我们使用两个唯一的非聚集索引来创建跨四个字段的唯一约束。我们使用两个,因为其中一个字段 ZipCode 是一个可为空的字段。如果表中存在一条包含 ZipCode 的 null 条目
我刚刚开始学习 Rails 3 教程,以便对框架有一点熟悉,但我在生成 schema.rb 时遇到了问题。我的操作系统是 Windows 7 x64、Ruby 1.9.2、MySQL2 gem 0.2
我是一名优秀的程序员,十分优秀!