From ffaa310dbe37ff884c648691a82433d06049f098 Mon Sep 17 00:00:00 2001 From: Tyler Date: Sun, 26 May 2024 13:32:48 +0100 Subject: [PATCH] fix bomb graphic on first click bomb being moved in setBombIfFirstTileIsBomb --- src/main/java/com/shr4pnel/minesweeper/Controller.java | 7 ++++--- src/main/java/com/shr4pnel/minesweeper/GridWrapper.java | 5 +++++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/shr4pnel/minesweeper/Controller.java b/src/main/java/com/shr4pnel/minesweeper/Controller.java index c92f1ec..a904799 100644 --- a/src/main/java/com/shr4pnel/minesweeper/Controller.java +++ b/src/main/java/com/shr4pnel/minesweeper/Controller.java @@ -36,7 +36,6 @@ public class Controller { gridHandler = new Grid(); wrapper = gridHandler.grid; expandedTiles = new boolean[30][16]; - } private void setupGrid() { @@ -82,11 +81,12 @@ public class Controller { handlePrimaryClick(clicked, column, row); } - private void setBombIfFirstTileIsBomb() { + private void setBombIfFirstTileIsBomb(int column, int row) { for (int c = 0; c < 30; ++c) { for (int r = 0; r < 16; ++r) { if (!wrapper.atColumn(c).atRow(r).isBomb()) { wrapper.setBomb(); + wrapper.updateGrid(column, row, c, r); System.out.println("erm"); return; } @@ -99,7 +99,8 @@ public class Controller { gameOver(clicked); return; } else if (wrapper.isBomb() && isFirstClick) { - setBombIfFirstTileIsBomb(); + isFirstClick = false; + setBombIfFirstTileIsBomb(column, row); } int adjacentBombs = wrapper.adjacentBombCount(); setAdjacentCount(clicked, adjacentBombs); diff --git a/src/main/java/com/shr4pnel/minesweeper/GridWrapper.java b/src/main/java/com/shr4pnel/minesweeper/GridWrapper.java index 9a799c8..55a6679 100644 --- a/src/main/java/com/shr4pnel/minesweeper/GridWrapper.java +++ b/src/main/java/com/shr4pnel/minesweeper/GridWrapper.java @@ -62,6 +62,11 @@ public class GridWrapper { return count; } + public void updateGrid(int oldColumn, int oldRow, int newColumn, int newRow) { + grid[oldColumn][oldRow] = false; + grid[newColumn][newRow] = true; + } + private boolean isBombAt(int column, int row) { return isValid(column, row) && grid[column][row]; }