2017-09-22 11 views
-2

ランダムテニスゲームをプレイしてスコアの配列を返すプログラムを書く。プログラムの終わりに私はwhileループを持っています、それは正しく動作していません。私はそれが(真)、唯一の条件は、それが満たされようとしている一方でも残している場合ので、ここでループjs whileループ条件を満たさない

while(true){ 
    lvl(); 
    if(p1>=3){ 
     if(g1>=2){ 
      scr.push("Player 1 win"); 
      return false 
     } 
    } 
    if(p2>=3){ 
     if(g2>=2){ 
      scr.push("Player 2 win"); 
      return false 
     } 
    } 
} 

があり、すべてのランダムな点を行い、配列にそれをプッシュする機能を持っています(p1 < 10)p1が9になるまでループを実行しますが、if文について心配することなく、特定の条件でループを終了させる必要があります。これをどうすれば解決できますか?情報g1 = p1-p2について(また、p2についても同じである)。また、ここではそれまでは、P1 = 9

[ [ 'Love-all' ], 
    [ 'Fifteen', 'Love' ], 
    [ 'Thirty', 'Love' ], 
    [ 'Thirty', 'Fifteen' ], 
    [ 'Forty', 'Fifteen' ], 
    [ 'Forty', 'Thirty' ], 
    [ 'Deuce' ], 
    [ 'Advantage player 1', 'Forty' ], 
    [ 'Deuce' ], 
    [ 'Advantage player 1', 'Advantage player 2' ], 
    [ 'Advantage player 1', 'Advantage player 2' ], 
    [ 'Advantage player 1', 'Advantage player 2' ], 
    [ 'Advantage player 1', 'Advantage player 2' ], 
    [ 'Advantage player 1', 'Advantage player 2' ], 
    [ 'Advantage player 1', 'Advantage player 2' ] ] 

は、コンソールは、おそらく100を使用しているため

+0

'p1'、' p2'、 'g1'と' g2'の値はどのように更新されていますか? – Darlesson

+0

ループが終了しない場合、 'return'ステートメントに至る' if'条件は決して真ではありません。 – David

+0

if(Math.random()<0.5){ p1 ++; } else { p2 ++; } –

答えて

0

お使いのコンピュータがクラッシュしていることを示すもので、すべての停止信号が満たされて、それがプレーし続けた場合でも、ゲームをプレイしながら、 %CPU使用率またはこれに近い値。あなたは通常、while(true)を何もしないでください。delayそこでは、CPUが常に同じスレッドで常に何かを計算しているわけではありません。さらにreturnステートメントの代わりにbreakステートメントを使用してwhile(true)から抜け出したいとします。

+0

は今でもブレイクしようとします。 –

+0

は同じですが、私はループを終了するための条件がすべて満たされていることを確かめています。それはp1またはp2が3以上のポイントを持ち、p1-p2(またはその逆)が2以上です –

関連する問題