я сравнил по диагонали значения двумерного массива с веерху вниз --- \, а как сравнить по диагонали снизу вверх, не могу догнать --- /?
public boolean isWinPositionForDiagonals(int[][] field, int playerToCheck) {
int countOne =0, countTwo = 0;
for (int i = 0; i < field.length; i++) {
for (int j = 0; j < field[0].length; j++) {
if (i == j && field[i][j] == playerToCheck) {
countOne++;
} else if ((field.length - i -1) == (field[0].length - j - 1) && field[field.length - i
-1][j] == playerToCheck) {
countTwo++;
}
}
}
if (countOne == 3) {
return true;
} else if (countTwo == 3) {
return true;
}
return false;
}
Ответы (2 шт):
Автор решения: Danis
→ Ссылка
public boolean isWinPositionForDiagonals(int[][] field, int playerToCheck) {
int countOne =0, countTwo = 0;
for (int i = field.lenght;i > 0; i--) {
for (int j = 0; j < field[0].length; j++) {
if (i == field[0].lenght - j - 1 && field[i][j] == playerToCheck) {
countOne++;
} else if ((field.length - i -1) == (field[0].length - j - 1) && field[field.length - i - 1][j] == playerToCheck) {
countTwo++;
}
}
}
if (countOne == 3) {
return true;
} else if (countTwo == 3) {
return true;
}
return false;
}
Автор решения: Vavan9116 Vdv
→ Ссылка
public boolean isWinPositionForDiagonals(int[][] field, int playerToCheck) {
int countOne =0, countTwo = 0;
for (int i = 0; i < field.length; i++) {
for (int j = 0; j < field[0].length; j++) {
if (i == j && field[i][j] == playerToCheck) {
countOne++;
} if ((j + i + 1) == field.length && field[i][j] == playerToCheck) {
countTwo++;
}
}
}
if (countOne == 3) {
return true;
} if (countTwo == 3) {
return true;
}
return false;
}