Это мой первый год в CS, и я относительно новичок в Java, так что прости меня, если я тупой. Мой последний проект для этого курса - создать игру Отелло. Наш учитель создал для нас все GUI, и мне просто нужно реализовать логику c игры. В нашей версии, каждый ход не должен приводить к перевесу, в отличие от оригинальной игры. У меня возникают проблемы с проверкой того, приводит ли фигура к горизонтальному обтеканию.
Игра на доске 8х8. ИИ здесь не задействован, так как это игра для двух игроков. int row и int column являются координатами нажатой площади. доска [строка] [колонка] используется для поиска любой фигуры на доске. Это немного моего кода, который проверяет, превосходит ли PLAYER2 какой-либо фрагмент слева. Проблема, с которой я сталкиваюсь, заключается в том, что когда я запускаю этот код, ничего в этом методе не запускается. Другие методы работают, просто этот не работает. У меня нет возможности проверить, работает это или нет. Я считаю, что это как-то связано с тем, как написан этот код, поэтому мне было интересно, может ли кто-нибудь мне помочь?
//Checks whether piece outlflanks any pieces horizontally
public void outFlankHori (int row, int column) {
int count = 0;
//Checks whether there is a horizontal outflank to the left with PLAYER2
// Checks whether the piece played is Player 2 and whether the piece to the left is Player 1
if (board[row][column] == PLAYER2 && board[row][column-1] == PLAYER1) {
//For loop going through the entire row to the left of the piece
for (int i = column; i <= column && i >= 0; i--) {
//While the pieces to the left are not PLAYER2 or EMPTY, the counter increases
while (board[row][i] != PLAYER2 && board[row][i] != EMPTY) {
count++;
//Once the piece to the left equals PLAYER2, there has been a horizontal outflank
if (board[row][i] == PLAYER2) {
//Sets all pieces to the left to Player 2
while (count >= 0) {
gui.setPiece(row, (column - count), PLAYER2);
count--;
}
}
}
}
}
}