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