import pygame from window import Window from input_manager import InputManager from snake import Snake from game_object import GameObject def draw_all(window: Window, game_objs: list[GameObject]) -> None: window.reset() for obj in game_objs: window.draw_object(obj) def update_all(game_objs: list[GameObject]) -> None: for obj in game_objs: obj.update() if __name__ == '__main__': window = Window(title='Snake', size=(800, 600), background_color=(0, 128, 0)) input_manager = InputManager() game_objs = [Snake(start_position=(400, 300), length=5, radius=10, color=(255, 0, 255))] clock = pygame.time.Clock() framerate = 25 last_input = None while last_input != InputManager.QUIT: last_input = input_manager.process_input() draw_all(window, game_objs) update_all(game_objs) clock.tick(framerate) pygame.display.flip()