gpt4 book ai didi

javascript - 在 Javascript 中连接四 - 对 Angular 线获胜检查

转载 作者:行者123 更新时间:2023-11-29 15:24:09 25 4
gpt4 key购买 nike

我最近制作了一个 Connect Four 游戏,但我在编写对 Angular 线获胜检查程序时遇到了问题。我只是不知道如何获得获胜支票....

我的横向代码是这样的:

var winMoveSpalte = function() {
var rowDummy = 3;
var count = 0;
for (var i_row = 0; i_row < 6; i_row++) {
rowDummy = 3;
count = 0;
for (var i_col = 0; i_col < 7; i_col++) {
if (rowDummy == 3 && settings.fieldSet[i_col][i_row] != 0) {
winnerMove[count]['col'] = i_col; //x
winnerMove[count]['row'] = i_row; //y
count++;
} else if (settings.fieldSet[i_col][i_row] != 0 && (rowDummy == settings.fieldSet[i_col][i_row])) {
if (count < 4) {
winnerMove[count]['col'] = i_col; //x
winnerMove[count]['row'] = i_row; //y
count++;
if (count == 4) {
for (var w = 0; w <= 3; w++) {
$('div#feld .col_' + winnerMove[w]["col"] + '.row_' + winnerMove[w]['row']).addClass('winnerStone' + settings.activePlayer);
}
return settings.fieldSet[i_col][i_row];
}
}
} else {
count = 0;
if (settings.fieldSet[i_col][i_row] != 0) {
winnerMove[count]['col'] = i_col; //x
winnerMove[count]['row'] = i_row; //y
count++;
}
}
rowDummy = settings.fieldSet[i_col][i_row];
}
}
}

最佳答案

这应该会返回您需要的结果:

function hasDiagonalWin(board, row, column) {
var result = false;

if(board[row][column] != 0) {
// there are four possible directions of a win
// if the top right contains a possible win
if(row - 3 > -1 && column + 3 < numColumns) {
result = board[row][column] == board[row - 1][column + 1] &&
board[row][column] == board[row - 2][column + 2] &&
board[row][column] == board[row - 3][column + 3];
}
// if the bottom right contains possible win
if(row + 3 < numRows && column + 3 < numColumns) {
result = board[row][column] == board[row + 1][column + 1] &&
board[row][column] == board[row + 2][column + 2] &&
board[row][column] == board[row + 3][column + 3];
}
// if the bottom left contains possible win
if(row + 3 < numRows && column - 3 > -1) {
result = board[row][column] == board[row + 1][column - 1] &&
board[row][column] == board[row + 2][column - 2] &&
board[row][column] == board[row + 3][column - 3];
}
// if the top left contains a possible win
if(row - 3 > -1 && column - 3 > -1) {
result = board[row][column] == board[row - 1][column - 1] &&
board[row][column] == board[row - 2][column - 2] &&
board[row][column] == board[row - 3][column - 3];
}
}

return result;
}

关于javascript - 在 Javascript 中连接四 - 对 Angular 线获胜检查,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41180477/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com