Do while语句没有按预期运行

Do while statement is not acting as intended

本文关键字:运行 while 语句 Do      更新时间:2023-10-16

我们的任务是创建一个简单的回合制游戏,但我的do while循环没有按预期工作,它没有在while(p1.getHP()>= 0 &&p2.getHP ()> = 0);

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

还没有完全完成,我只是想在完成之前把这个错误去掉

你写了

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);

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

这段代码是可怕的缩进,不确定问题(不能用低rep注释),但我会告诉你你的最后一行不会工作:

while(again=1);

应该是

while(again==1);

问题出在你p1.getHP() >= 0 && p2.getHP()>= 0身上。p1.getHP()总是返回>=0和p2。

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