Added maze constricted movement. /JL
This commit is contained in:
18
pman.py
18
pman.py
@@ -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
|
||||
|
Reference in New Issue
Block a user