我正在寫一個功能正常的Tic Tac Toe程序,我已經完成了很多工作。除了我的勝利條件太長和醜陋。它看起來像這樣。Javascript - 井字遊戲 - 如何通過贏條件循環?
function checkWin(){
if(board[0].textContent === "X" &&
board[1].textContent === "X" &&
board[2].textContent === "X"
) { alert("Win")}
else if (
board[3].textContent === "X" &&
board[4].textContent === "X" &&
board[5].textContent === "X"
) { alert("Win")}
else if (
board[6].textContent === "X" &&
board[7].textContent === "X" &&
board[8].textContent === "X"
) { alert("Win")}
}
我只寫了一些勝利的條件,因爲如果我寫整個事情會更長。我想知道如何編寫一個較短的版本。 我正在考慮做一個數組並循環它,但我無法弄清楚如何。 這將是這樣的。
var winConditions = [[0,1,2],[3,4,5],[6,7,8],[0,3,6],[1,4,7],[2 ,5,8],[0,4,8],[6,4,2]]
但我該如何使用checkWin循環winConditions並使其等於X和O?
這不是一個容易解決的問題。除非你使用現有的算法之一,否則會變得混亂。上次我寫了一個TTT遊戲時,我檢查了玩家的任何瓷磚是否形成了與董事會一樣長的直線。查找現有的算法來解決這個問題,除非你想這麼做。 – Carcigenicate
https://stackoverflow.com/questions/1056316/algorithm-for-determining-tic-tac-toe-game-over – Carcigenicate
當然,https://stackoverflow.com/questions/18548265/testing-tic-tac -toe雙贏的條件/ 18549674#18549674 –