while声明是否按预期运行

时间:2014-08-22 15:09:25

标签: c++ loops do-while

我们的任务是创建一个简单的回合制游戏,但我的while循环不能按预期工作,它不会在while(p1.getHP()>所需的条件下停止。 = 0&& p2.getHP()> = 0);

供参考,这是我的代码的链接。 http://pastebin.com/WyAfrWTE

它尚未完全完成,我只想在完成之前解决此错误。

3 个答案:

答案 0 :(得分:3)

你写了

while (p1.getHp() > 0 || p2.getHp() > 0) 

而不是

while (p1.getHp() > 0 && p2.getHp() > 0) 

此外,resetHp() 不应

Life==100;

而是

Life=100;

第三个错误:

while (again=1);

是一个无限循环,你可能想要:

while (again==1);

根据我偶然发现的错误判断,我建议您再次检查完整代码中的错误,因为我确信有更多隐藏...

答案 1 :(得分:2)

这段代码是可怕的缩进,不确定问题(并且不能用低代表评论)但是我会告诉你你的最后一行不起作用:

while(again=1);

应该是

while(again==1);

答案 2 :(得分:0)

问题出在p1.getHP() >= 0 && p2.getHP()>= 0上。 p1.getHP()始终返回> = 0并且p2.getHP始终返回> = 0 ..

您必须确保p2.getHP()或p1.getHP()在某个时间点返回负值。