我想寫一個「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;
};
};
在Javascript中,你應該幾乎從不做這樣的循環,因爲這樣做意味着JS引擎沒有機會處理事件隊列。你將不得不向我們展示'takeTurn()'中實際發生了什麼,讓我們知道該建議什麼,但是可能你應該從各種事件處理程序中決定下一步做什麼 - 而不是循環。 – jfriend00
你的真正問題在於設計。刪除while循環,並向我們展示takeTurn函數 – Ibu