ビデオゲームのプログラムを制御するこの巨大なアニメーションループがあります。私はこれを数回実行するifステートメントを持っています。なぜなら、それがtrueになるとすぐに、ループのために実行され続けるからです。このステートメントを1回だけ実行する必要があります。それを解決する1つの方法は、カウンターとして整数変数を作成することですが、これを解決する他の方法があるかどうか疑問に思いました。
質問する
91 次
4 に答える
3
trueになるとすぐに、それは実行され続けます。このステートメントをもう実行したくない場合は、それを作成し、それができない場合は、何らかのフラグを設定します。if
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;
}
}
比較のパフォーマンスが気になる場合は、これを 2 つのループに分けることができます。1 つは条件が false の場合、もう 1 つは条件が 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 に答える