summaryrefslogtreecommitdiff
path: root/src/sliceitoff/game
diff options
context:
space:
mode:
authorViljami Ilola <+@hix.fi>2024-03-18 19:55:32 +0200
committerViljami Ilola <+@hix.fi>2024-03-18 19:55:32 +0200
commitd19b06f7728df38dd4cfe770615c969b49f9e227 (patch)
tree11643a416d6fce0e73edf3cb262b84caa615fe30 /src/sliceitoff/game
parent78704848d4459907a456044615714b59d4593b2f (diff)
gameplay refactoring
Diffstat (limited to 'src/sliceitoff/game')
-rw-r--r--src/sliceitoff/game/gameplay.py34
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