From 7355c2e0dff88a35e019e125cf11bfe85169aabc Mon Sep 17 00:00:00 2001 From: LunarAkai Date: Sun, 24 Mar 2024 15:22:20 +0100 Subject: [PATCH] flooded flagged cells now get substracted from flagsPlaced --- .../de/lunarakai/minecleaner/MinecleanerArena.java | 3 ++- .../de/lunarakai/minecleaner/MinecleanerManager.java | 2 -- .../java/de/lunarakai/minecleaner/game/Game.java | 12 +++++++++++- 3 files changed, 13 insertions(+), 4 deletions(-) diff --git a/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java b/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java index caeff83..ecbc64f 100644 --- a/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java +++ b/src/main/java/de/lunarakai/minecleaner/MinecleanerArena.java @@ -343,7 +343,7 @@ public class MinecleanerArena { currentMinecleanerGame.reveal(x, y); setBlockForCellType(x, y, cell); - + if(currentMinecleanerGame.gameover) { plugin.getManager().handleGameover(player, this, !(cell.isRevealed() && cell.isExploded())); } else { @@ -356,6 +356,7 @@ public class MinecleanerArena { Vector2i pos = floodedCells.get(i).position; setBlockForCellType(pos.x, pos.y, floodedCells.get(i)); } + flagsPlaced = flagsPlaced - currentMinecleanerGame.getFloodedFlaggedCells(); } } } diff --git a/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java b/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java index b55a776..ea962f6 100644 --- a/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java +++ b/src/main/java/de/lunarakai/minecleaner/MinecleanerManager.java @@ -129,8 +129,6 @@ public class MinecleanerManager { player.sendMessage(ChatColor.YELLOW + "Game Over! Du konntest das Minecleaner-Feld nicht erfolgreich lösen!"); arena.showMines(); - - if(sg != null) { ps.increaseScore(sg, 1); } diff --git a/src/main/java/de/lunarakai/minecleaner/game/Game.java b/src/main/java/de/lunarakai/minecleaner/game/Game.java index de598d5..24d738c 100644 --- a/src/main/java/de/lunarakai/minecleaner/game/Game.java +++ b/src/main/java/de/lunarakai/minecleaner/game/Game.java @@ -17,6 +17,7 @@ public class Game { private Tilemap tilemap; private ArrayList floodedCells; + private int floodedFlaggedCellsCounter; private ArrayList explodedCells; public Game(MinecleanerPlugin plugin, int width, int mineCount) { @@ -27,6 +28,7 @@ public class Game { this.floodedCells = new ArrayList<>(); this.explodedCells = new ArrayList<>(); + floodedFlaggedCellsCounter = 0; } public void start() { @@ -150,9 +152,12 @@ public class Game { break; } case Empty: { - if(!floodedCells.isEmpty()) {; + if(!floodedCells.isEmpty()) { floodedCells.clear(); } + if(floodedFlaggedCellsCounter != 0) { + floodedFlaggedCellsCounter = 0; + } flood(cell); checkWinCondition(); break; @@ -174,6 +179,7 @@ public class Game { if(cell.isFlagged()) { cell.setFlaggedState(false); + floodedFlaggedCellsCounter = floodedFlaggedCellsCounter + 1; } cell.setRevealed(); @@ -272,4 +278,8 @@ public class Game { public ArrayList getExplodedCells() { return explodedCells; } + + public int getFloodedFlaggedCells() { + return floodedFlaggedCellsCounter; + } }