Не пропускает валидатор 4 пункт, в какой части ошибка?
Практически в любой игре игрок либо выигрывает, либо проигрывает. Давай для начала реализуем проигрыш.
Для этого нам пригодится метод gameOver(), который будет останавливать игру и сообщать игроку о проигрыше.
Для вывода сообщения игроку в движке предусмотрен метод showMessageDialog().
Чтобы контролировать остановку игры, введем специальную переменную-флаг isGameStopped. При каких обстоятельствах происходит проигрыш? Правильно: при открытии "заминированной" ячейки. Если такое событие наступило, нужно ячейку с миной перекрасить в красный цвет (Color.RED) и вызвать метод gameOver().
Не забудь учесть остановку игры в методе markTile(int, int). Запусти игру и проверь, что все реализованное тобой работает.
Требования:
- В классе MinesweeperGame должно существовать приватное поле isGameStopped типа boolean.
- В методе createGame() должно устанавливаться значение переменной isGameStopped в false.
- В классе MinesweeperGame должен существовать приватный метод void gameOver().
- Метод gameOver() должен устанавливать значение переменной isGameStopped в true.
- Метод gameOver() должен вызывать метод showMessageDialog(Color, String, Color, int).
- В методе openTile(int, int), если объект является миной, должна отрисовываться мина на красном фоне (используй метод setCellValueEx(int, int, Color, String)) и вызываться метод gameOver().
- Метод markTile(int, int) не должен ничего делать, если игра уже остановлена (isGameStopped == true).