我有一个巨大的动画循环来控制视频游戏的程序。我有这个 if 语句,它被执行了好几次,因为一旦它是真的,它就会因为循环而继续执行。我需要这个语句只执行一次。我知道解决它的一种方法是将整数变量作为计数器,但我想知道是否还有其他方法可以解决这个问题。
问问题
91 次
4 回答
3
你说只要它是真的,它就会继续被执行。当您不想再if
执行此语句时,请 make it false
,如果您不能这样做,则设置某种boolean
标志。
于 2012-05-18T23:31:40.843 回答
0
您可以使用continue。在伪代码中
set flag = false
for(var1 == var2)
...//do whatever you do in loop
if(flag)
continue
if(var3 == var4)
set flag = true
...//do whatever in if statment
end for loop
或者
set flag = false
for(var1 == var2)
...//do whatever you do in loop
if(var3 == var4 AND !flag)
set flag = true
...//do whatever in if statment
end for loop
于 2012-05-18T23:34:05.733 回答
0
这是因为它是一个昂贵的 if 语句吗?您可以尝试添加短路逻辑:
for(...)
{
if(flag == false && ...)
{
flag = true;
}
}
如果您担心进行比较的性能......您可以将其分成两个循环。一个用于条件为假时,第二个用于条件为真时。
我想一些编译器优化可能已经解决了这个问题。
于 2012-05-18T23:35:32.690 回答
0
使 if 语句检查特定数字,例如
for(i=0;i<10000;i++) {
if(i==345) {
// do something...
}
}
于 2012-05-18T23:40:50.297 回答