Commit cd42797a authored by Anthony Jacob's avatar Anthony Jacob
Browse files

snake moving

parent 6de05c53
Loading
Loading
Loading
Loading
+13 −15
Original line number Diff line number Diff line
@@ -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)
@@ -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)
@@ -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"))
+9 −1
Original line number Diff line number Diff line
@@ -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
@@ -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

@@ -51,3 +56,6 @@ class Game:
            return True
        else:
            return False

    def step(self):
        self.move(self.current_direction + " arrow")