Подскажите, пожалуйста, в чем ошибка?
package com.javarush.games.minesweeper;
import com.javarush.engine.cell.*;
import java.util.*;
public class MinesweeperGame extends Game{
private final static int SIDE = 9;
private GameObject[][] gameField = new GameObject[SIDE][SIDE];
private int countMinesOnField = 0;
public boolean isMine;
private static final String MINE = "\uD83D\uDCA3";
@Override
public void initialize() {
setScreenSize(SIDE, SIDE);
createGame();
}
@Override
public void onMouseLeftClick(int x, int y) {
openTile(x, y);
}
private void createGame() {
for (int x = 0; x < SIDE; x++) {
for (int y = 0; y < SIDE; y++) {
isMine = getRandomNumber(10) == 9;
if (isMine) countMinesOnField++;
gameField[x][y] = new GameObject(y, x, isMine);
setCellColor(x, y, Color.GREEN);
}
}
countMineNeighbors();
}
private List<GameObject> getNeighbors(GameObject gameObject) {
List<GameObject> neighbors = new ArrayList<GameObject>();
for (int i = gameObject.x - 1; i <= gameObject.x + 1; i++) {
if (i < 0 || i >= SIDE) continue;
for (int j = gameObject.y -1; j <= gameObject.y + 1; j++) {
if (j < 0 || j >= SIDE) continue;
if (i == gameObject.x && j == gameObject.y) continue;
neighbors.add(gameField[j][i]);
}
}
return neighbors;
}
private void countMineNeighbors() {
int countMineNeighbors;
for (int x = 0; x < SIDE; x++) {
for (int y = 0; y < SIDE; y++) {
if (!gameField[x][y].isMine) {
List<GameObject> neighbors = getNeighbors(gameField[x][y]);
countMineNeighbors = 0;
for (GameObject neighbor : neighbors) {
if (neighbor.isMine) countMineNeighbors++;
}
gameField[x][y].countMineNeighbors = countMineNeighbors;
}
}
}
}
private void openTile(int x, int y) {
gameField[x][y].isOpen = true;
setCellColor(x, y, Color.BROWN);
if (gameField[x][y].isMine) {
setCellValue(x, y, MINE);
}
else {
setCellNumber(x, y, gameField[x][y].countMineNeighbors);
}
}
}