パターンXOOX
のグリッド内に対角線を見つけようとしています。私はこの機能を持っている:2次元配列の対角線を確認する
function chkDiagonal(token, x,y){
if(x >= 0 && x - 2 >=0 && y >= 0){
if(token === "X"){
if(gameBoard[x][y]==="X" && gameBoard[x-1][y+1] === "O"
&& gameBoard[x-2][y-2] === "O" && gameBoard[x-3][y+3]==="X"){
return true;
}
}
}
}
}
を私はすでに2 O's
が斜めの行にすでに存在する場合、それが唯一気になるように、私はそれがより一般的なようにする方法を見つけ出すことはできませんboard[x-3][x+3]
でX
を持っている場合にのみtrue
を返します。いずれの順番でもなく、X's
がいずれかの端に配置されています。誰かがこれにアプローチする方法について私にアドバイスできますか?
var gameBoard = [
["X", "O", "X", "O", "X", "O"],
["X", "O", "X", "X", "X", "O"],
["X", "O", "O", "O", "X", "O"],
["X", "O", "X", "O", "X", "O"],
["X", "O", "X", "O", "X", "O"]
];
console.log(chkDiagonal("X",4,0));//undefined
確認するデータを追加してください。 –
私はいくつかのテストデータを追加しました。 –
ここに間違いがあります: 'gameBoard [x-2] [y-2] ===" O "'は、y + 2でなければなりません –