diff options
Diffstat (limited to 'src/sliceitoff/game/gameplay.py')
-rw-r--r-- | src/sliceitoff/game/gameplay.py | 34 |
1 files changed, 19 insertions, 15 deletions
diff --git a/src/sliceitoff/game/gameplay.py b/src/sliceitoff/game/gameplay.py index 33847fc..cc20c3b 100644 --- a/src/sliceitoff/game/gameplay.py +++ b/src/sliceitoff/game/gameplay.py @@ -9,32 +9,36 @@ class Gameplay: self.status = status self.player = player self.field = field + + def fire(self): + if self.player.fire_lazer() and Stats.lose_life(): + return True + return Stats.percent < 20 + def quit(self): + Stats.lives = 0 + return True + def step(self): """ Processes events for the step (frame) """ for event in pygame.event.get(): match event.type: - case pygame.KEYDOWN: - match event.key: - case pygame.K_ESCAPE | pygame.K_q: - Stats.lives = 0 - return True - case pygame.K_SPACE: - if self.player.fire_lazer(): - return True - case pygame.QUIT: - Stats.lives = 0 - return True case pygame.MOUSEMOTION: self.player.set_position(pygame.mouse.get_pos()) case pygame.MOUSEBUTTONDOWN: self.player.set_position(pygame.mouse.get_pos()) if event.button == 1: - if self.player.fire_lazer() and Stats.lose_life(): - return True - if Stats.percent < 10: - Stats.level_up() + if self.fire(): return True if event.button == 3: self.player.set_direction() + case pygame.KEYDOWN: + match event.key: + case pygame.K_ESCAPE | pygame.K_q: + return self.quit() + case pygame.K_SPACE: + if self.fire(): + return True + case pygame.QUIT: + return self.quit() return False |