""" Reads user input and does actions when game play is on. """ import pygame from stats import Stats class Gameplay: """ Logic of the playfield """ def __init__(self, player = None, field = None, status = None): self.status = status self.player = player self.field = field 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() return True if event.button == 3: self.player.set_direction() return False