私は "while"ループを作成しようとしているので、4つの条件が成立するまでゲームは継続しています。プレイヤーはオブジェクトとして配列に格納され、その順番を追跡する「アクティブな」キーもあります。whileループを中断する存在条件を書く
私はtakeTurn()関数で自分の順番にプレイヤーが行ったことすべてを切り離しましたが、私はallPlayers配列をループして、各プレイヤーに4勝利条件が満たされる。私は何をすべきか?私は "newActivePlayer"関数を書こうとしましたが、実際にはまだ理解していないスコープの問題のため、whileループ内では機能しません。
var allPlayers = [player1, player2, player3, player4]
var activePlayer = player1;
while (!win) {
takeTurn();
if (activePlayer.wincondition1 === true && activePlayer.wincondition2 === true && activePlayer.wincondition3 === true && activePlayer.wincondition4 === true) {
win = true;
};
};
をブラウザに伝えるこの道を返す必要があり、あなたがすべきJSエンジンにはイベントキューを処理する機会がないので、このようなループはほとんどありません。どのようなことを知っているのかは、 'takeTurn()'で実際に何が起こったのかを示す必要がありますが、ループ処理ではなく、さまざまなイベントハンドラから何をすべきかを決定する必要があります。 – jfriend00
あなたの本当の問題はデザインにあります。 whileループを削除してtakeTurn関数を表示してください – Ibu