Browse Source

changed movement behaviour in Player

remotes/origin/ghostsbehaviour
fdai7910 11 months ago
parent
commit
7a402cddf9
  1. 13
      src/main/java/pacmanGame/Player.java

13
src/main/java/pacmanGame/Player.java

@ -4,6 +4,8 @@ public class Player {
public Vector2 position; public Vector2 position;
public Vector2 direction; public Vector2 direction;
public GameManager gameManager; public GameManager gameManager;
public Vector2 oldDirection;
public Vector2 futureDirection;
public Player(GameManager gameManager) { public Player(GameManager gameManager) {
this.gameManager = gameManager; this.gameManager = gameManager;
@ -14,23 +16,28 @@ public class Player {
public void Spawn() { public void Spawn() {
position = gameManager.map.playerSpawn; position = gameManager.map.playerSpawn;
direction = new Vector2(0, -1); direction = new Vector2(0, -1);
oldDirection = direction;
} }
public void Move() { public void Move() {
Vector2 newPosition = position.Add(direction); Vector2 newPosition = position.Add(direction);
boolean newPosIsWall = gameManager.map.GetCell(newPosition).type.equals("wall"); boolean newPosIsWall = gameManager.map.GetCell(newPosition).type.equals("wall");
if(!newPosIsWall) { if(!newPosIsWall) {
position = newPosition; position = newPosition;
} }
else if (oldDirection != direction) {
direction = oldDirection;
Move();
}
gameManager.updatePlayerCell(); gameManager.updatePlayerCell();
} }
public void processInput(char inputchar) { public void processInput(char inputchar) {
oldDirection = direction;
if(inputchar == 'w') { if(inputchar == 'w') {
direction = new Vector2(0,1);
direction = new Vector2(0,1);
} }
else if(inputchar == 's') { else if(inputchar == 's') {

Loading…
Cancel
Save