Loading pythonsnake/controller.py +13 −15 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ def choose_mode(): def start_game(mode): gameState = model.Game(14) gameState = model.Game(30) if mode == 1: start_game_terminal(gameState) Loading @@ -35,13 +35,14 @@ def start_game(mode): def start_game_terminal(gameState): view.refresh_grid(gameState) keyboard.unhook_all() listen_escape_game(gameState) listen_move(gameState) while not gameState.lost: # gameState.step() view.refresh_grid(gameState.move(gameState.current_direction + " arrow")) listen_move(gameState) continue time.sleep(1) Loading @@ -57,15 +58,12 @@ def listen_escape_game(gameState): def listen_move(gameState): keyboard.on_press_key( "left arrow", lambda _: view.refresh_grid(gameState.move("left arrow")) ) keyboard.on_press_key( "right arrow", lambda _: view.refresh_grid(gameState.move("right arrow")) ) keyboard.on_press_key( "up arrow", lambda _: view.refresh_grid(gameState.move("up arrow")) ) keyboard.on_press_key( "down arrow", lambda _: view.refresh_grid(gameState.move("down arrow")) ) if keyboard.is_pressed("left arrow"): view.refresh_grid(gameState.move("left arrow")) if keyboard.is_pressed("right arrow"): view.refresh_grid(gameState.move("right arrow")) if keyboard.is_pressed("up arrow"): view.refresh_grid(gameState.move("up arrow")) if keyboard.is_pressed("down arrow"): view.refresh_grid(gameState.move("down arrow")) pythonsnake/model.py +9 −1 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ class Game: self.grid = [[i for i in range(grid_size)] for j in range(grid_size)] self.player_coord = [0, 0] self.lost = False self.current_direction = "right" def move(self, direction): """sumary_line Loading @@ -17,18 +18,22 @@ class Game: self.player_coord[0] - 1, self.player_coord[1] ): self.player_coord[0] -= 1 self.current_direction = "left" elif direction == "right arrow" and self.check_move( self.player_coord[0] + 1, self.player_coord[1] ): self.player_coord[0] += 1 self.current_direction = "right" elif direction == "up arrow" and self.check_move( self.player_coord[0], self.player_coord[1] - 1 ): self.player_coord[1] -= 1 self.current_direction = "up" elif direction == "down arrow" and self.check_move( self.player_coord[0], self.player_coord[1] + 1 ): self.player_coord[1] += 1 self.current_direction = "down" else: self.lost = True Loading @@ -51,3 +56,6 @@ class Game: return True else: return False def step(self): self.move(self.current_direction + " arrow") Loading
pythonsnake/controller.py +13 −15 Original line number Diff line number Diff line Loading @@ -26,7 +26,7 @@ def choose_mode(): def start_game(mode): gameState = model.Game(14) gameState = model.Game(30) if mode == 1: start_game_terminal(gameState) Loading @@ -35,13 +35,14 @@ def start_game(mode): def start_game_terminal(gameState): view.refresh_grid(gameState) keyboard.unhook_all() listen_escape_game(gameState) listen_move(gameState) while not gameState.lost: # gameState.step() view.refresh_grid(gameState.move(gameState.current_direction + " arrow")) listen_move(gameState) continue time.sleep(1) Loading @@ -57,15 +58,12 @@ def listen_escape_game(gameState): def listen_move(gameState): keyboard.on_press_key( "left arrow", lambda _: view.refresh_grid(gameState.move("left arrow")) ) keyboard.on_press_key( "right arrow", lambda _: view.refresh_grid(gameState.move("right arrow")) ) keyboard.on_press_key( "up arrow", lambda _: view.refresh_grid(gameState.move("up arrow")) ) keyboard.on_press_key( "down arrow", lambda _: view.refresh_grid(gameState.move("down arrow")) ) if keyboard.is_pressed("left arrow"): view.refresh_grid(gameState.move("left arrow")) if keyboard.is_pressed("right arrow"): view.refresh_grid(gameState.move("right arrow")) if keyboard.is_pressed("up arrow"): view.refresh_grid(gameState.move("up arrow")) if keyboard.is_pressed("down arrow"): view.refresh_grid(gameState.move("down arrow"))
pythonsnake/model.py +9 −1 Original line number Diff line number Diff line Loading @@ -4,6 +4,7 @@ class Game: self.grid = [[i for i in range(grid_size)] for j in range(grid_size)] self.player_coord = [0, 0] self.lost = False self.current_direction = "right" def move(self, direction): """sumary_line Loading @@ -17,18 +18,22 @@ class Game: self.player_coord[0] - 1, self.player_coord[1] ): self.player_coord[0] -= 1 self.current_direction = "left" elif direction == "right arrow" and self.check_move( self.player_coord[0] + 1, self.player_coord[1] ): self.player_coord[0] += 1 self.current_direction = "right" elif direction == "up arrow" and self.check_move( self.player_coord[0], self.player_coord[1] - 1 ): self.player_coord[1] -= 1 self.current_direction = "up" elif direction == "down arrow" and self.check_move( self.player_coord[0], self.player_coord[1] + 1 ): self.player_coord[1] += 1 self.current_direction = "down" else: self.lost = True Loading @@ -51,3 +56,6 @@ class Game: return True else: return False def step(self): self.move(self.current_direction + " arrow")