minesweeper/src/main/java/org/apidesign/demo/minesweeper/MinesModel.java
changeset 174 a57b2414b855
parent 166 e6667c8206fc
child 176 1e482b09b814
     1.1 --- a/minesweeper/src/main/java/org/apidesign/demo/minesweeper/MinesModel.java	Fri Jun 27 16:14:57 2014 +0200
     1.2 +++ b/minesweeper/src/main/java/org/apidesign/demo/minesweeper/MinesModel.java	Thu Jul 17 08:23:25 2014 +0200
     1.3 @@ -250,6 +250,9 @@
     1.4          }
     1.5          if (data.getState() == SquareType.MARKED) {
     1.6              data.setState(SquareType.UNKNOWN);
     1.7 +            if (allMarked(model)) {
     1.8 +                model.setState(GameState.WON);
     1.9 +            }
    1.10              return;
    1.11          }
    1.12          if (data.getState() != SquareType.UNKNOWN) {
    1.13 @@ -455,7 +458,7 @@
    1.14      private static boolean allMarked(Mines m) {
    1.15          for (Row r : m.getRows()) {
    1.16              for (Square sq : r.getColumns()) {
    1.17 -                if (sq.isMine() && sq.getState() != SquareType.MARKED) {
    1.18 +                if (sq.isMine() == (sq.getState() != SquareType.MARKED)) {
    1.19                      return false;
    1.20                  }
    1.21              }