作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我最近制作了一个 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/
我正在开发一个 CMD 批次。我想在里面做一些数学运算。这个公式:(x+1)100:y 所以批量处理,x = %x%, and y = %y% .我知道如何设置变量。现在,如何批量计算这个? (WIN
我正在使用 Electron 制作桌面应用程序,我制作了自己的最小化最大化和关闭按钮,所有这些按钮都工作正常,但是当您单击最大化并且它已经最大化时,它并没有取消最大化。这是我的代码: const $
目前我在这里面临着危机。 问题是,当我尝试使用 Windows 窗体的默认 WebBrowser 控件打开 G-Mail 时,它说浏览器不支持较新版本的 HTML 即 XHTML。 那么,有人能建议我
我遇到了一个让我发疯的问题。我在一个网站上工作,该网站在与主导航相同的 div 中有一个框。它一直显示到右边(栏的宽度为 100%),我需要它显示在带有主导航的 div 中(宽度 1020px) 我正
我是一名优秀的程序员,十分优秀!