class MainManager: def __init__(self, size): pg.init() self.size = size self.win = pg.display.set_mode(self.size) self.sbDrawer = SnowballDrawer(cns.DRAW_BOX_SIZE_MID, self.win) self.hudDrawer = HudDrawer(cns.DRAW_BOX_SIZE_MID, self.win) self.lnManager = LineManager() self.cameraController = CameraPositionController(self.sbDrawer) self.simulationController = SimulationSpeedController(self.lnManager, self.hudDrawer) self.inputBox = InputBox(100, 5, 200, 32) self.restart_simulation("00007r1") self.sbDrawer.draw_bg_box() def restart_simulation(self, text): self.lnManager.restart_lines() seqs = split_sequence(text) for seq in seqs: self.lnManager.add_line(seq[0], seq[1], seq[2]) self.lines = self.lnManager.get_lines() def update(self): self.lnManager.iterate_lines() self.events() def display(self): self.sbDrawer.draw_snowball(self.lines) self.hudDrawer.draw_hud() self.inputBox.draw(self.win) pg.display.flip() def events(self): for event in pg.event.get(): if event.type == pg.QUIT: sys.exit() elif event.type == pg.KEYDOWN: if event.key == pg.K_RETURN: new_patter = self.inputBox.get_text() self.restart_simulation(new_patter) self.sbDrawer.refresh_draw() self.inputBox.handle_event(event) self.cameraController.check_event(event) self.simulationController.check_event(event)
class MainManager: def __init__(self, size): pg.init() self.size = size self.win = pg.display.set_mode(self.size) self.sbDrawer = SnowballDrawer(cns.DRAW_BOX_SIZE_MID, self.win) self.hudDrawer = HudDrawer(cns.DRAW_BOX_SIZE_MID, self.win) self.lnManager = LineManager() self.cameraController = CameraPositionController(self.sbDrawer) self.simulationController = SimulationSpeedController( self.lnManager, self.hudDrawer) seq = [("j", 12), ("r", 2), ("l", 2)] tseq = translate_sequence(seq) self.lnManager.add_line((0, 0), (0, 1), tseq) self.lines = self.lnManager.get_lines() self.sbDrawer.draw_bg_box() def update(self): self.lnManager.iterate_lines() self.events() def display(self): self.sbDrawer.draw_snowball(self.lines) self.hudDrawer.draw_hud() pg.display.flip() def events(self): for event in pg.event.get(): if event.type == pg.QUIT: sys.exit() self.cameraController.check_event(event) self.simulationController.check_event(event)