-1

ビデオゲームのプログラムを制御するこの巨大なアニメーションループがあります。私はこれを数回実行するifステートメントを持っています。なぜなら、それがtrueになるとすぐに、ループのために実行され続けるからです。このステートメントを1回だけ実行する必要があります。それを解決する1つの方法は、カウンターとして整数変数を作成することですが、これを解決する他の方法があるかどうか疑問に思いました。

4

4 に答える 4

3

trueになるとすぐに、それは実行され続けます。このステートメントをもう実行したくない場合は、それを作成し、それができない場合は、何らかのフラグを設定します。if falseboolean

于 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 に答える