From d25cd93736d6776d6caf185f107a86dd7a5286fd Mon Sep 17 00:00:00 2001 From: Tyler Date: Sun, 26 May 2024 12:31:33 +0100 Subject: [PATCH] Fix bombs on initial click Fix bombs on initial click --- .gitignore | 7 ++++++- .idea/gradle.xml | 16 ---------------- .../com/shr4pnel/minesweeper/Controller.java | 18 +++++++++++++++++- 3 files changed, 23 insertions(+), 18 deletions(-) delete mode 100644 .idea/gradle.xml diff --git a/.gitignore b/.gitignore index 3275be9..084204a 100644 --- a/.gitignore +++ b/.gitignore @@ -41,4 +41,9 @@ bin/ ### Mac OS ### .DS_Store .idea -lib \ No newline at end of file +lib +target +.mvn +src/main/resources/META-INF +mvnw +mvnw.cmd diff --git a/.idea/gradle.xml b/.idea/gradle.xml deleted file mode 100644 index ce1c62c..0000000 --- a/.idea/gradle.xml +++ /dev/null @@ -1,16 +0,0 @@ - - - - - - - \ No newline at end of file diff --git a/src/main/java/com/shr4pnel/minesweeper/Controller.java b/src/main/java/com/shr4pnel/minesweeper/Controller.java index 4acc04d..c92f1ec 100644 --- a/src/main/java/com/shr4pnel/minesweeper/Controller.java +++ b/src/main/java/com/shr4pnel/minesweeper/Controller.java @@ -28,6 +28,7 @@ public class Controller { private long startTime; private int bombCount = 99; private boolean[][] expandedTiles; + private boolean isFirstClick = true; @FXML private void initialize() { @@ -81,10 +82,24 @@ public class Controller { handlePrimaryClick(clicked, column, row); } + private void setBombIfFirstTileIsBomb() { + for (int c = 0; c < 30; ++c) { + for (int r = 0; r < 16; ++r) { + if (!wrapper.atColumn(c).atRow(r).isBomb()) { + wrapper.setBomb(); + System.out.println("erm"); + return; + } + } + } + } + private void handlePrimaryClick(Button clicked, int column, int row) { - if (wrapper.atColumn(column).atRow(row).isBomb()) { + if (wrapper.atColumn(column).atRow(row).isBomb() && !isFirstClick) { gameOver(clicked); return; + } else if (wrapper.isBomb() && isFirstClick) { + setBombIfFirstTileIsBomb(); } int adjacentBombs = wrapper.adjacentBombCount(); setAdjacentCount(clicked, adjacentBombs); @@ -145,6 +160,7 @@ public class Controller { gridHandler = new Grid(); wrapper = gridHandler.grid; expandedTiles = new boolean[30][16]; + isFirstClick = true; } private void resetTimer() {