1.1 --- a/minesweeper/src/main/java/org/apidesign/demo/minesweeper/MinesModel.java Fri Feb 07 15:40:56 2014 +0100
1.2 +++ b/minesweeper/src/main/java/org/apidesign/demo/minesweeper/MinesModel.java Fri Feb 07 16:35:45 2014 +0100
1.3 @@ -117,6 +117,7 @@
1.4 List<Integer> xBombs = new ArrayList<Integer>();
1.5 List<Integer> yBombs = new ArrayList<Integer>();
1.6 final List<Row> rows = model.getRows();
1.7 + boolean emptyHidden = false;
1.8 for (int y = 0; y < rows.size(); y++) {
1.9 final List<Square> columns = rows.get(y).getColumns();
1.10 for (int x = 0; x < columns.size(); x++) {
1.11 @@ -127,6 +128,10 @@
1.12 }
1.13 if (sq.getState().isVisible()) {
1.14 sq.setState(SquareType.N_0);
1.15 + } else {
1.16 + if (!sq.isMine()) {
1.17 + emptyHidden = true;
1.18 + }
1.19 }
1.20 }
1.21 }
1.22 @@ -136,6 +141,10 @@
1.23
1.24 incrementAround(model, x, y);
1.25 }
1.26 +
1.27 + if (!emptyHidden) {
1.28 + model.setState(GameState.WON);
1.29 + }
1.30 }
1.31
1.32 private static void incrementAround(Mines model, int x, int y) {