簡単な三目並べゲームを作成しようとしていますが、問題が発生しました。winConditions という 2D 配列を作成し、xMoves および oMoves と比較して誰かが勝ったかどうかを判断しましたが、determinWin 関数を呼び出しても何も起こっていないようです。私は配列とスコープが本当に苦手なので、問題は不適切なスコープの問題にあると思いますが、これは私の頭を少し超えています。誰かがこのコードの問題を特定するのを手伝ってくれませんか? http://jsfiddle.net/Skww6/1/ (これはおそらく私が間違っている機能です)
var determineWin = function (pMoves) {
var winAlert;
for (var i = 0; i < winConditions.length; i++) {
if (winConditions[i].length > pMoves.length) {
continue;
}
for (var j = 0; j < winConditions[i].length; j++) {
winAlert = false;
for (var k = 0; k < pMoves.length; k++) {
if (pMoves[k] === winConditions[i][j]) {
winAlert = true;
break;
}
}
if (!winAlert) break;
}
if (winAlert) {
alert(currentPlayer + "wins!");
break;
}
}
};