Rudimentary colisioncheck

This commit is contained in:
Urban Modig
2025-08-21 15:14:20 +02:00
parent e8112f1cbb
commit 712d58e8e3
3 changed files with 43 additions and 2 deletions

View File

@ -20,6 +20,7 @@ public class PlayingState implements GameState {
private PacMan pacman;
@Getter
private GameMap map;
private int score;
public PlayingState(Game game, GameStateManager gameStateManager) {
this.game = game;
@ -33,6 +34,7 @@ public class PlayingState implements GameState {
public void update() {
pacman.update();
ghostManager.update(pacman, map);
checkCollisions();
}
@Override
@ -62,4 +64,21 @@ public class PlayingState implements GameState {
pacman.setMoving(false);
pacman.setDirection(Direction.NONE);
}
private void checkCollisions() {
for (Ghost ghost : ghostManager.getGhosts()) {
double dist = pacman.distanceTo(ghost.getPosition());
if (dist < GameMap.MAP_TILESIZE / 2.0) {
if (ghost.isFrightened()) {
// Pac-Man eats ghost
score += 200;
ghost.resetPosition();
} else {
// Pac-Man loses a life
pacman.loseLife();
pacman.resetPosition();
}
}
}
}
}