From 50db52d03bc08313c736c754ab0f908ab90086e3 Mon Sep 17 00:00:00 2001 From: Joel Kronqvist Date: Tue, 4 Nov 2025 22:30:28 +0200 Subject: refactor: extracted Level from Game, also added level restarting functionality --- main.py | 27 ++++++++++++--------------- 1 file changed, 12 insertions(+), 15 deletions(-) (limited to 'main.py') diff --git a/main.py b/main.py index 688589c..1ccddee 100755 --- a/main.py +++ b/main.py @@ -15,21 +15,18 @@ running = True while running: - match view.game.snake: - case None: raise ValueError("no snake") - case _: - for event in pygame.event.get(): - if event.type == pygame.QUIT: - running = False - elif event.type == pygame.KEYDOWN: - if event.key == pygame.K_w and view.game.snake.heading != Vec.up.neg(): - view.nextControlDirection = Vec.up - elif event.key == pygame.K_a and view.game.snake.heading != Vec.left.neg(): - view.nextControlDirection = Vec.left - elif event.key == pygame.K_r and view.game.snake.heading != Vec.down.neg(): - view.nextControlDirection = Vec.down - elif event.key == pygame.K_s and view.game.snake.heading != Vec.right.neg(): - view.nextControlDirection = Vec.right + for event in pygame.event.get(): + if event.type == pygame.QUIT: + running = False + elif event.type == pygame.KEYDOWN: + if event.key == pygame.K_w and view.game.level.snake.heading != Vec.up.neg(): + view.nextControlDirection = Vec.up + elif event.key == pygame.K_a and view.game.level.snake.heading != Vec.left.neg(): + view.nextControlDirection = Vec.left + elif event.key == pygame.K_r and view.game.level.snake.heading != Vec.down.neg(): + view.nextControlDirection = Vec.down + elif event.key == pygame.K_s and view.game.level.snake.heading != Vec.right.neg(): + view.nextControlDirection = Vec.right if view.isRunning(): view.update(pygame.time.get_ticks()) -- cgit v1.2.3