====== Game loop ====== nextEvent = time.ticks_ms() + zeitBisEreignis # Zeit jetzt plus Dauer bis zum nächsten Ereignis while True: if time.ticks_ms()>= nextEvent: # Tun, was zu tun ist nextEvent = time.ticks_ms() + zeitBisEreignis if userInteraction: # Interaktion auswerten # eventuell weitere Ereignisse generieren Erweiterung: Array von Ereignissen und entsprechender Eintrittsszeit, sortieren nach letzterer. Variante: Aktoren (z.B. ein Space-Invader), der selbst zeitliche Ereignisse verwaltet: class Actor(): def __init__(self, helper): self.helper=helper self.nextEvent = time.ticks_ms()+whatever def step(self): if self.nextEvent<=time.ticks_ms(): # Tu was Im Game loop sähe das dann so aus: actors = [.....] # Liste von Aktoren while True: for i in range(len(actors)): actors[i].step() if time.ticks_ms()>= nextEvent: # bla bla etc. ====== Auswerten von Knöpfen / Joysticks ====== * Vorheriger Zustand der Knöpfe, Zeit seit letzer Änderung speichern. * Je nach Zustandsänderung und vergangener Zeit, Ereignis auslösen. Eine Kapselung in eine Klasse wäre denkbar. Eine Methode wird permanent aufgerufen; darin werden die physikalischen Knöpfe ausgewertet. Eine weitere Methode liefert ein Array mit Ereignissen, falls denn welche aufgetreten sind.