Как обнаружить "победу" в игре Сапер?
Я работаю над тральщиком, который у меня почти готов.
Единственное, чего не хватает - это обнаружения выигрыша. Как лучше всего это осуществить? Я знаю, что он будет частью ActionListener, который обнаруживает клики, в какой-то момент последний клик должен определить победителя.
Кто-нибудь может дать мне несколько идей, спасибо!
2 ответа
Игрок выиграл, если
numUnopenedCells == numBombs
(где ячейка неоткрыта, если она находится в своем начальном состоянии или помечена как мина).
- Если
numUnopenedCells > numBombs
тогда у игрока есть неоткрытые ячейки, которые не являются бомбами (то есть, осталось выполнить какую-то работу) - Если
numUnopenedCells < numBombs
тогда игрок обязательно "открыл" ячейку с бомбой и уже проиграл.
Я знаю, что он будет частью ActionListener, который обнаруживает клики, в какой-то момент последний клик должен определить победителя.
Да, этот фрагмент будет выполняться прямо или косвенно слушателем действия. Я хотел бы предложить вам модель состояния игры, а в openCell(int x, int y)
Метод, который вы проверите выше, и принять соответствующие меры.