Я работаю над простой игрой connect four на Java и пытаюсь использовать в своем коде блок try / catch, который опускает диск игрока в игровое поле. Я отредактировал некоторый код, чтобы преднамеренно заставить его выдавать ошибку, если проигрыватель пытается сбросить диск в полный столбец, но когда я сделал это изменение, я получаю ошибку «Источник не найден» в затмении. Код ниже:
public void dropDisc(int column, int player, Scanner input) {
//Method to drop a disc in the appropriate column of the game board.
char disc;
if(player == 1)
disc = 'R';
else
disc = 'Y';
column = (column * 2) + 1; //Sets column to a blank space
try{
// for(int i = 0; i <= 5; i++) {
//
// if (i == 5) {
// gameBoard[i][column] = disc;
// break;}
// else if (gameBoard[i + 1][column] == 'Y' || gameBoard[i + 1][column] == 'R') {
// gameBoard[i][column] = disc;
// break;}
// }
for(int i = 5; i <= -1; i--) {
if (gameBoard[i][column] == 'Y' || gameBoard[i][column] == 'R')
continue;
else
gameBoard[i][column] = disc;
}
} catch(Exception e) {
System.out.println("Column full, please select another column.");
column = input.nextInt();
dropDisc(column, player, input);
}
}
Если я закомментирую второй цикл for и откомментирую первый, тогда код работает нормально. Я не уверен, почему я получаю эту ошибку Source Not Found, когда я использую вторую версию цикла. Есть ли что-то очевидное, чего мне здесь не хватает?