diff --git a/__pycache__/Player.cpython-313.pyc b/__pycache__/Player.cpython-313.pyc new file mode 100644 index 0000000..bbd575a Binary files /dev/null and b/__pycache__/Player.cpython-313.pyc differ diff --git a/nav_game.py b/nav_game.py new file mode 100644 index 0000000..a7c8929 --- /dev/null +++ b/nav_game.py @@ -0,0 +1,7 @@ +from retro.game import Game +from player import Player + +board_size = (100, 25) +player = Player(board_size) +game = Game([player], {"score": 0}, board_size=board_size, color = "pink", debug=TRUE) +game.play() \ No newline at end of file diff --git a/player.py b/player.py new file mode 100644 index 0000000..eb79bec --- /dev/null +++ b/player.py @@ -0,0 +1,28 @@ +class Player: + name = "player" + character = 'S' + + def __init__(self, board_size): + board_width, board_height = board_size + self.position = (board_width // 2, board_height - 1) + + def handle_keystroke(self, keystroke, game): + x, y = self.position + if keystroke.name in ("KEY_LEFT", "KEY_RIGHT", "KEY_UP", "KEY_DOWN"): + 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) + + if game.on_board(new_position): + if game.is_empty(new_position): + self.position = new_position + else: + game.end() \ No newline at end of file