import pygame class Input: def __init__(self): self.left: bool = False self.right: bool = True self.down: bool = False self.up: bool = False self.close: bool = False def poll(self) -> None: events = pygame.event.get() for event in events: if event.type == pygame.QUIT: self.close = True if event.type == pygame.KEYDOWN: if event.key == pygame.K_LEFT: self.left = True if event.key == pygame.K_RIGHT: self.right = True if event.key == pygame.K_UP: self.up = True if event.key == pygame.K_DOWN: self.down = True if event.type == pygame.KEYUP: if event.key == pygame.K_LEFT: self.left = True if event.key == pygame.K_RIGHT: self.right = True if event.key == pygame.K_UP: self.up = True if event.key == pygame.K_DOWN: self.down = True def horizontal(self) -> float: return self.right - self.left def vertical(self) -> float: return self.down - self.up