我正在为iphone开发我的第一个游戏应用程序,而且在objective-c中我仍然有点不高兴。
游戏进展顺利,但我遇到了一个小问题...
我想这样做,以便每20次杀戮,你获得+1生命,我知道如何做到这一点,但是编写的代码写得不好......:
switch (kills) {
case 20:
lives++;
livescount.text = [NSString stringWithFormat:@"%i", lives];
break;
case 40:
lives++;
livescount.text = [NSString stringWithFormat:@"%i", lives];
break;
case 60:
lives++;
livescount.text = [NSString stringWithFormat:@"%i", lives];
break;
case 80:
lives++;
livescount.text = [NSString stringWithFormat:@"%i", lives];
break;
case 100:
lives++;
livescount.text = [NSString stringWithFormat:@"%i", lives];
break;
case 120:
lives++;
livescount.text = [NSString stringWithFormat:@"%i", lives];
break;
case 140:
lives++;
livescount.text = [NSString stringWithFormat:@"%i", lives];
break;
case 160:
lives++;
livescount.text = [NSString stringWithFormat:@"%i", lives];
break;
case 180:
lives++;
livescount.text = [NSString stringWithFormat:@"%i", lives];
break;
case 200:
lives++;
livescount.text = [NSString stringWithFormat:@"%i", lives];
等等......我不想继续写这个直到无限大声笑
我知道这是一种编写代码的不正确方法。任何人都可以为每20次杀死= +1生命给我一个正确的代码。我可能会发现并理解代码的工作原理。
答案 0 :(得分:4)
使用模运算符(%)返回除以20的余数;还要检查杀人次数是否为零。
if (kills != 0 && kills % 20 == 0) {
lives++;
livescount.text = [NSString stringWithFormat:@"%i", lives];
}
答案 1 :(得分:0)
你应该使用mod,所以:
if (kills && kills % 20 == 0) {
lives++;
}
Mod(%
)返回除法的余数:所以在这种情况下,如果kills可以被20整除,它将返回零。