diff --git a/__pycache__/player.cpython-312.pyc b/__pycache__/player.cpython-312.pyc new file mode 100644 index 0000000..eec6e6f Binary files /dev/null and b/__pycache__/player.cpython-312.pyc differ diff --git a/nav_game.py b/nav_game.py index f86b2ce..6d445e2 100644 --- a/nav_game.py +++ b/nav_game.py @@ -1,5 +1,7 @@ from retro.game import Game +from player import Player -board_size = (25, 25) -game = Game([], {"score": 0}, board_size=board_size) +board_size = (100, 25) +player = Player(board_size) +game = Game([player], {"score": 0}, board_size=board_size) game.play() \ No newline at end of file diff --git a/player.py b/player.py new file mode 100644 index 0000000..b6b9da1 --- /dev/null +++ b/player.py @@ -0,0 +1,20 @@ +class Player: + name = "player" + character = 'O' + + 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"): + if keystroke.name == "KEY_LEFT": + new_position = (x - 1, y) + else: + new_position = (x + 1, y) + if game.on_board(new_position): + if game.is_empty(new_position): + self.position = new_position + else: + game.end()