""" Reads user input and does actions when game play is on. """ import pygame 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: return True case pygame.K_SPACE: if self.player.fire_lazer(): return True case pygame.QUIT: 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 self.status.lose_life() ): return True if event.button == 3: self.player.set_direction() return False