Added maze constricted movement. /JL

This commit is contained in:
2025-04-19 21:55:47 +02:00
parent 090ba954b5
commit 5c05c687e1
2 changed files with 34 additions and 2 deletions

18
pman.py
View File

@@ -7,7 +7,7 @@ from actors.ghost_mode_controller import GhostModeController
from hud import HUD
from maze import Maze
__version__ = "0.3.2"
__version__ = "0.3.3"
def spawn_ghosts(center_position):
@@ -61,29 +61,45 @@ def main() -> None:
case pygame.KEYDOWN:
match event.key:
case pygame.K_RIGHT:
if maze.is_wall(player.location[0] + 1, player.location[1]):
break
player.direction = PlayerDirection.DirectionRight
player.move_right()
case pygame.K_LEFT:
if maze.is_wall(player.location[0] - 1, player.location[1]):
break
player.direction = PlayerDirection.DirectionLeft
player.move_left()
case pygame.K_UP:
if maze.is_wall(player.location[0], player.location[1] - 1):
break
player.direction = PlayerDirection.DirectionUp
player.move_up()
case pygame.K_DOWN:
if maze.is_wall(player.location[0], player.location[1] + 1):
break
player.direction = PlayerDirection.DirectionDown
player.move_down()
case pygame.JOYHATMOTION:
hat_x, hat_y = event.value
if hat_x == 1:
if maze.is_wall(player.location[0] + 1, player.location[1]):
break
player.direction = PlayerDirection.DirectionRight
player.move_right()
elif hat_x == -1:
if maze.is_wall(player.location[0] - 1, player.location[1]):
break
player.direction = PlayerDirection.DirectionLeft
player.move_left()
elif hat_y == 1:
if maze.is_wall(player.location[0], player.location[1] - 1):
break
player.direction = PlayerDirection.DirectionUp
player.move_up()
elif hat_y == -1:
if maze.is_wall(player.location[0], player.location[1] + 1):
break
player.direction = PlayerDirection.DirectionDown
player.move_down()
# Handle hotplugging