From c696e666d03490b71af35d299d75f02e2c2fb1c0 Mon Sep 17 00:00:00 2001 From: Urban Modig Date: Sat, 6 Sep 2025 20:55:57 +0200 Subject: [PATCH] Added highscore --- src/main/java/se/urmo/game/main/GhostManager.java | 2 -- src/main/java/se/urmo/game/state/GameOverState.java | 2 ++ src/main/java/se/urmo/game/state/PlayingState.java | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/se/urmo/game/main/GhostManager.java b/src/main/java/se/urmo/game/main/GhostManager.java index 2e9cd0c..b3968c5 100644 --- a/src/main/java/se/urmo/game/main/GhostManager.java +++ b/src/main/java/se/urmo/game/main/GhostManager.java @@ -29,7 +29,6 @@ public class GhostManager { public static final int CLYDE_ANIMATION = 3; @Getter private final List ghosts = new ArrayList<>(); - private final LevelManager levelManager; private long lastModeSwitchTime; private int phaseIndex = 0; @@ -44,7 +43,6 @@ public class GhostManager { private boolean frozen; public GhostManager(GhostCollisionChecker ghostCollisionChecker, AnimationManager animationManager, LevelManager levelManager) { - this.levelManager = levelManager; // Create ghosts with their strategies Ghost blinky = new Ghost(ghostCollisionChecker, new BlinkyStrategy(), new ScatterToTopRight(), BLINKY_ANIMATION, levelManager); ghosts.add(blinky); diff --git a/src/main/java/se/urmo/game/state/GameOverState.java b/src/main/java/se/urmo/game/state/GameOverState.java index 5b3ea94..929d243 100644 --- a/src/main/java/se/urmo/game/state/GameOverState.java +++ b/src/main/java/se/urmo/game/state/GameOverState.java @@ -1,5 +1,6 @@ package se.urmo.game.state; +import lombok.Getter; import se.urmo.game.main.GamePanel; import se.urmo.game.main.GameStateManager; import se.urmo.game.main.HighScoreManager; @@ -14,6 +15,7 @@ public class GameOverState implements GameState { private final GameStateManager gsm; private int finalScore = 0; private int finalLevel = 0; + @Getter private final HighScoreManager highScores; // optional private boolean saved = false; diff --git a/src/main/java/se/urmo/game/state/PlayingState.java b/src/main/java/se/urmo/game/state/PlayingState.java index c4b4d9a..775b580 100644 --- a/src/main/java/se/urmo/game/state/PlayingState.java +++ b/src/main/java/se/urmo/game/state/PlayingState.java @@ -178,6 +178,10 @@ public class PlayingState implements GameState { g.drawString("Your Score", 48, 48); g.drawString("" + score, 48, 72); + // High Score (above map, right) + g.drawString("High Score", 248, 48); + g.drawString("" + gameOverState.getHighScores().top().stream().findFirst().orElse(0), 248, 72); + // Lives (below map, left) for (int i = 1; i < lives; i++) { g.drawImage(pacman.getLifeIcon(),