Added remaining ghosts incl. movment-strategies

This commit is contained in:
Urban Modig
2025-08-20 15:26:06 +02:00
parent 9f316e5b43
commit 8e546fe942
13 changed files with 129 additions and 32 deletions

View File

@ -1,5 +1,6 @@
package se.urmo.game.entities;
import lombok.Getter;
import lombok.extern.slf4j.Slf4j;
import se.urmo.game.collision.GhostCollisionChecker;
import se.urmo.game.map.GameMap;
@ -11,8 +12,6 @@ import java.awt.Color;
import java.awt.Graphics;
import java.awt.Point;
import java.awt.image.BufferedImage;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
@ -29,6 +28,7 @@ public class Ghost {
private final GhostCollisionChecker collisionChecker;
private final GhostStrategy chaseStrategy;
@Getter
private Point position;
private boolean moving = true;
@ -81,7 +81,7 @@ public class Ghost {
prevDirection = direction;
direction = chooseDirection(
prioritize(collisionChecker.calculateDirectionAlternatives(position)),
currentStrategy.chooseTarget(pacman, map));
currentStrategy.chooseTarget(this, pacman, map));
log.info("selecting direction {}", direction);
}
@ -167,4 +167,5 @@ public class Ghost {
case EATEN -> currentStrategy = null;
}
}
}