我开发一个连接4个游戏7x7的领域,水平和竖直裂缝,但我不明白的对角线检查工作对角线赢检查在连接4
只要令牌一个不是在最后我能取胜柱。
这是所有检查:
private static int getWinningInDiagonals() {
// Top-Left -> Bottom-Right
for (int column = 0; column < 7; column++) {
int count = 0;
for (int row = 0; row < 7; row++) {
if (field[row][column] != 0 && field[row+1][column + row - 1] == field[row][column])
count++;
else
count = 1;
if (count >= 4) {
return field[row][column];
}
}
}
// Top-Right -> Bottom-Left
for (int column = 0; column < 7; column++) {
int count = 0;
for (int row = 0; row < 7; row++) {
if (field[row][column] != 0 && field[row+1][column - row + 1] == field[row][column])
count++;
else
count = 1;
if (count >= 4) {
return field[row][column];
}
}
}
return 0;
}
'field'的尺寸是多少?因为现在看起来你会立即得到一个'ArrayIndexOutOfBoundsException',因为你将访问'field [row + 1] [column + row - 1]'row = 0; column = 0;'=>'field [1] [ - 1]'。 – jabbink
7x7(private static int [] [] field = new int [7] [7];)我不知道该怎么做 – Xilver266