add guarding mechanic and implement guard sprite handling

This commit is contained in:
2025-12-13 23:55:47 +01:00
parent 133afa9c06
commit d018ed3e6e
4 changed files with 64 additions and 12 deletions

View File

@@ -5,6 +5,14 @@ public enum Direction {
UP,
DOWN,
LEFT,
RIGHT
RIGHT;
}
public Direction getOpposite() {
return switch (this) {
case UP -> DOWN;
case DOWN -> UP;
case LEFT -> RIGHT;
case RIGHT -> LEFT;
};
}
}

View File

@@ -10,7 +10,7 @@ import java.awt.event.KeyListener;
public class KeyHandler implements KeyListener {
public boolean upPressed, downPressed, leftPressed, rightPressed, spacePressed, shotKeyPressed;
public boolean upPressed, downPressed, leftPressed, rightPressed, spacePressed, shotKeyPressed, CTLKeyPressed;
public GamePanel panel;
public boolean debug;
@@ -50,6 +50,7 @@ public class KeyHandler implements KeyListener {
case KeyEvent.VK_S, KeyEvent.VK_DOWN -> downPressed = true;
case KeyEvent.VK_A, KeyEvent.VK_LEFT -> leftPressed = true;
case KeyEvent.VK_D, KeyEvent.VK_RIGHT -> rightPressed = true;
case KeyEvent.VK_CONTROL -> CTLKeyPressed = true;
case KeyEvent.VK_SPACE -> spacePressed = true;
//case KeyEvent.VK_F -> shotKeyPressed = true;
@@ -276,6 +277,7 @@ public class KeyHandler implements KeyListener {
case KeyEvent.VK_S, KeyEvent.VK_DOWN -> downPressed = false;
case KeyEvent.VK_A, KeyEvent.VK_LEFT -> leftPressed = false;
case KeyEvent.VK_D, KeyEvent.VK_RIGHT -> rightPressed = false;
case KeyEvent.VK_CONTROL -> CTLKeyPressed = false;
case KeyEvent.VK_F -> shotKeyPressed = false;
}
}