Added mode-management and second ghost

This commit is contained in:
Urban Modig
2025-08-17 22:10:10 +02:00
parent a2b9b2264e
commit 9d06b038e0
8 changed files with 125 additions and 40 deletions

View File

@ -16,29 +16,30 @@ import java.awt.event.KeyEvent;
public class PlayingState implements GameState {
private final Game game;
private final GameStateManager gameStateManager;
private final Ghost ghost;
private final GhostManager ghostManager;
private PacMan pacman;
@Getter
private GameMap map;
public PlayingState(Game game, GameStateManager gameStateManager) {
this.game = game;
this.gameStateManager = gameStateManager;
this.map = new GameMap();
this.pacman = new PacMan(game, new CollisionChecker(map));
this.ghost = new Ghost(game, new GhostCollisionChecker(map), new BlinkyStrategy());
this.ghostManager = new GhostManager(new GhostCollisionChecker(map));
}
@Override
public void update() {
pacman.update();
ghost.update(pacman);
ghostManager.update(pacman);
}
@Override
public void render(Graphics2D g) {
map.draw(g);
pacman.draw(g);
ghost.draw(g);
ghostManager.draw(g);
}
@Override