From d19b06f7728df38dd4cfe770615c969b49f9e227 Mon Sep 17 00:00:00 2001 From: Viljami Ilola <+@hix.fi> Date: Mon, 18 Mar 2024 19:55:32 +0200 Subject: gameplay refactoring --- src/sliceitoff/game/gameplay.py | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) (limited to 'src/sliceitoff/game/gameplay.py') 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 -- cgit v1.2.3