Added mode-management and second ghost
This commit is contained in:
@ -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
|
||||
|
||||
Reference in New Issue
Block a user