我正在尝试在网格中找到模式XOOX
的对角线。我有这个功能:
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;
}
}
}
}
}
但如果我true
已经X
,我只会返回board[x-3][x+3]
我无法弄清楚如何使其更加通用,以便它只关心已经有两个{{} 1}}对角线,而不是O's
放在两端的顺序。有人可以告诉我如何处理这个问题吗?
我正在测试它:
X's
答案 0 :(得分:1)
有两点需要指出。
gameBoard[x-2][y-2]
gameBoard[x-2][y+2]
return false
,以便在检查失败时返回false。如果您没有添加return语句,它将不返回任何内容,因此undefined
。