Basic score count working
update takes movement into account
This commit is contained in:
@ -30,6 +30,7 @@ public class PacMan {
|
||||
@Setter
|
||||
private boolean moving;
|
||||
private final BufferedImage[][] movmentImages = new BufferedImage[4][4];
|
||||
@Getter
|
||||
private Point position;
|
||||
private static final BufferedImage COLLISION_BOX = MiscUtil.createOutlinedBox(COLLISION_BOX_SIZE, COLLISION_BOX_SIZE, Color.yellow, 2);
|
||||
private final CollisionChecker collisionChecker;
|
||||
@ -82,21 +83,21 @@ public class PacMan {
|
||||
|
||||
public void update() {
|
||||
updateAnimationTick();
|
||||
if(direction == Direction.NONE) return;
|
||||
//if(direction == Direction.NONE) return;
|
||||
if(moving) {
|
||||
Point newPosition = switch (direction) {
|
||||
case RIGHT -> new Point(position.x + speed, position.y);
|
||||
case LEFT -> new Point(position.x - speed, position.y);
|
||||
case UP -> new Point(position.x, position.y - speed);
|
||||
case DOWN -> new Point(position.x, position.y + speed);
|
||||
default -> throw new IllegalStateException("Unexpected value: " + direction);
|
||||
};
|
||||
log.debug("At: {},trying to move {} to {}", position, direction.name(), newPosition);
|
||||
Point destination = collisionChecker.getValidDestination(direction, newPosition, COLLISION_BOX_SIZE, COLLISION_BOX_SIZE);
|
||||
|
||||
Point newPosition = switch (direction){
|
||||
case RIGHT -> new Point(position.x + speed, position.y);
|
||||
case LEFT -> new Point(position.x - speed, position.y);
|
||||
case UP -> new Point(position.x , position.y - speed);
|
||||
case DOWN -> new Point(position.x, position.y + speed);
|
||||
default -> throw new IllegalStateException("Unexpected value: " + direction);
|
||||
};
|
||||
log.debug("At: {},trying to move {} to {}", position, direction.name(), newPosition);
|
||||
Point destination = collisionChecker.getValidDestination(direction, newPosition, COLLISION_BOX_SIZE, COLLISION_BOX_SIZE);
|
||||
|
||||
if(destination != null) {
|
||||
collisionChecker.removeTile(destination);
|
||||
position = destination;
|
||||
if (destination != null) {
|
||||
position = destination;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ -114,10 +115,6 @@ public class PacMan {
|
||||
}
|
||||
}
|
||||
|
||||
public Point getTilePosition() {
|
||||
return position;
|
||||
}
|
||||
|
||||
public double distanceTo(Point point) {
|
||||
return position.distance(point);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user