我在这里有一些代码,我想要发生的是,每次触发时,整数'生命'都会减少一个。这是我的代码。
if (match == NO)
{
self.wrongLetters = [self.wrongLetters stringByReplacingOccurrencesOfString:letterToCheck withString:@""];
self.wrongLetters = [self.wrongLetters stringByAppendingString:letterToCheck];
while (!lives == 0)
{
lives--;
self.HangmanStatus.text = [[NSString alloc] initWithFormat:@"Lives Left: %d", lives ];
}
}
但不是一个一个地下降,而是一直下降到0。 我是否错误地触发了它? 建议很棒,谢谢
答案 0 :(得分:2)
你想:
while (lives != 0) {
}
另一种选择是:
while (lives > 0) {
}
这将以某种方式防止生命消极。
但是,如果您只想让生命停止一次,请将while
更改为if
。
if (lives > 0) {
}
表达式!lives == 0
否定lives
的值,然后检查该值是否等于0.不是你想要的。
答案 1 :(得分:1)
while(!(lives == 0))
应该解决您的问题。
或者,更好的是,while(lives != 0)
由于应用操作的顺序,而(!lives == 0)实际应用了!生活的操作者,这不是你想要做的。
答案 2 :(得分:0)
生命在一个while循环中,条件是“生命不等于0,减少生命。”因此,条件中的语句一直运行直到满足条件 - 直到生命等于零。