diff options
Diffstat (limited to 'main.py')
| -rwxr-xr-x | main.py | 27 |
1 files changed, 15 insertions, 12 deletions
@@ -15,18 +15,21 @@ running = True while running: - 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 + 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 if view.isRunning(): view.update(pygame.time.get_ticks()) |
