Removed collisionmask for large pellets
This commit is contained in:
@ -5,6 +5,7 @@ import lombok.extern.slf4j.Slf4j;
|
||||
import se.urmo.game.main.GamePanel;
|
||||
import se.urmo.game.util.Direction;
|
||||
import se.urmo.game.map.GameMap;
|
||||
import se.urmo.game.util.Pair;
|
||||
|
||||
import java.awt.Point;
|
||||
import java.util.Collections;
|
||||
@ -31,7 +32,8 @@ public class CollisionChecker {
|
||||
);
|
||||
};
|
||||
|
||||
log.debug("{} boundaries for {} are {}", direction, position, boundaries);
|
||||
List<Pair> bs = boundaries.stream().map(p -> new Pair(p.x, p.y, GameMap.screenToRow(p.y), GameMap.screenToCol(p.x))).toList();
|
||||
log.debug("{} boundaries for {} are {}", direction, position, bs);
|
||||
|
||||
List<Point> normalized = boundaries.stream()
|
||||
.map(p -> normalizePosition(direction, p, agent_width, agent_height))
|
||||
|
||||
@ -77,13 +77,12 @@ public class PacMan {
|
||||
PACMAN_SIZE,
|
||||
PACMAN_SIZE, null);
|
||||
g.drawImage(COLLISION_BOX, position.x - COLLISION_BOX_OFFSET, position.y - COLLISION_BOX_OFFSET, COLLISION_BOX_SIZE, COLLISION_BOX_SIZE, null);
|
||||
g.setColor(Color.BLUE);
|
||||
//g.setColor(Color.BLUE);
|
||||
//g.fillRect(position.x-1, position.y-1, 3, 3);
|
||||
}
|
||||
|
||||
public void update() {
|
||||
updateAnimationTick();
|
||||
//if(direction == Direction.NONE) return;
|
||||
if(moving) {
|
||||
Point newPosition = switch (direction) {
|
||||
case RIGHT -> new Point(position.x + speed, position.y);
|
||||
|
||||
@ -15,7 +15,7 @@ public class MapTile {
|
||||
public MapTile(BufferedImage image, TileType tileType) {
|
||||
this.tileType = tileType;
|
||||
this.image = image;
|
||||
this.collisionMask = tileType.getValue() != 0 ? createCollisionMask(image) : null;
|
||||
this.collisionMask = tileType.isSolid() ? createCollisionMask(image) : null;
|
||||
}
|
||||
|
||||
private boolean[][] createCollisionMask(BufferedImage img) {
|
||||
|
||||
24
src/main/java/se/urmo/game/util/Pair.java
Normal file
24
src/main/java/se/urmo/game/util/Pair.java
Normal file
@ -0,0 +1,24 @@
|
||||
package se.urmo.game.util;
|
||||
|
||||
public class Pair{
|
||||
private final int x;
|
||||
private final int y;
|
||||
int row;
|
||||
int col;
|
||||
public Pair(int x, int y, int row, int col){
|
||||
this.x = x;
|
||||
this.y = y;
|
||||
this.row = row;
|
||||
this.col = col;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return "Pair{" +
|
||||
"x=" + x +
|
||||
", y=" + y +
|
||||
", row=" + row +
|
||||
", col=" + col +
|
||||
'}';
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user