私は機能しているTic Tac Toeプログラムを書いています。私の勝利条件を除いて、長すぎると醜いです。それはこのように見えます。Javascript - Tic Tac Toe - 勝利条件をループする方法は?
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]]
しかし、私はどのようにwinConditionsをループしてXとOと同じにするためにcheckWinを使うことができますか?
解決するのは簡単な問題ではありません。既存のアルゴリズムのいずれかを使用しない限り、乱雑になることがあります。私が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-win-condition/18549674#18549674 –