diff --git a/__pycache__/player.cpython-312.pyc b/__pycache__/player.cpython-312.pyc new file mode 100644 index 0000000..ff3b2dc Binary files /dev/null and b/__pycache__/player.cpython-312.pyc differ diff --git a/maze_game.py b/maze_game.py new file mode 100644 index 0000000..51e4dde --- /dev/null +++ b/maze_game.py @@ -0,0 +1,8 @@ +from retro.game import Game +from player import Player + +board_size = (100, 40) +player = Player(board_size) + +game = Game([player], {}, board_size=board_size) +game.play() diff --git a/player.py b/player.py new file mode 100644 index 0000000..57ba18a --- /dev/null +++ b/player.py @@ -0,0 +1,28 @@ +class Player: + name = "player" + character = "🐧" + color = "purple" + + def __init__(self, board_size): + # Start at bottom-left corner + self.position = (0, board_size[1] - 1) + + def handle_keystroke(self, keystroke, game): + x, y = self.position + + if keystroke.name == "KEY_LEFT": + new_position = (x - 1, y) + elif keystroke.name == "KEY_RIGHT": + new_position = (x + 1, y) + elif keystroke.name == "KEY_UP": + new_position = (x, y - 1) + elif keystroke.name == "KEY_DOWN": + new_position = (x, y + 1) + else: + return + + # Contain penguin inside board + if game.on_board(new_position): + self.position = new_position + +