From 3d18c9ee4d24dad3f7814e322c16b8d221ba4306 Mon Sep 17 00:00:00 2001 From: schererleander Date: Fri, 26 Dec 2025 22:50:10 +0100 Subject: feat(logic): use delta time for movment of sprites --- Steuerung.py | 51 +++++++++++++++++++++++++++------------------------ 1 file changed, 27 insertions(+), 24 deletions(-) (limited to 'Steuerung.py') diff --git a/Steuerung.py b/Steuerung.py index 7f0a592..8356aeb 100644 --- a/Steuerung.py +++ b/Steuerung.py @@ -1,13 +1,17 @@ import pygame from Szenen import * + class Steuerung(): def __init__(self): self.__szene = Menue() self.__szenenIndex = 0 self.__verlasseSpiel = False self.__spielerListe = [] - self.__loop() + + self.__clock = pygame.time.Clock() + + self.loop() def __sotiereSpielerListe(self): self.__spielerListe.sort(key=lambda spieler: spieler[1], reverse=True) @@ -17,35 +21,34 @@ class Steuerung(): for spieler in range(len(self.__spielerListe)): if self.__spielerListe[spieler][0] == spielerName: gibtSpieler = True - self.__spielerListe[spieler][1] = spielerScore + self.__spielerListe[spieler] = (spielerName, spielerScore) if not gibtSpieler: self.__spielerListe.append((spielerName, spielerScore)) - def __verlasseSpiel(self): - self.__verlasseSpiel = True - def __wechselSzene(self): self.__szenenIndex += 1 if self.__szenenIndex > 3: self.__szenenIndex = 0 - match(self.__szenenIndex): - case 0: - self.__szene = Menue() - case 1: - self.__szene = Game() - case 2: - score = self.__szene.getScore() - self.__szene = Benennung(score) - case 3: - score = self.__szene.getScore() - name = self.__szene.getName() - self.__addSpieler(name, score) - self.__sotiereSpielerListe() - self.__szene = Score(self.__spielerListe) - - - def __loop(self): + + if self.__szenenIndex == 0: + self.__szene = Menue() + elif self.__szenenIndex == 1: + self.__szene = Game() + elif self.__szenenIndex == 2: + score = self.__szene.getScore() + self.__szene = Benennung(score) + elif self.__szenenIndex == 3: + score = self.__szene.getScore() + name = self.__szene.getName() + self.__addSpieler(name, score) + self.__sotiereSpielerListe() + self.__szene = Score(self.__spielerListe) + + + def loop(self): while not self.__szene == None and not self.__verlasseSpiel: + dt = self.__clock.tick(60) / 1000.0 + events = [] for event in pygame.event.get(): if event.type == pygame.QUIT: @@ -54,9 +57,9 @@ class Steuerung(): events.append(event) self.__szene.beiEingabe(events) - self.__szene.beiUpdate() + self.__szene.beiUpdate(dt) self.__szene.beiZeichne() if self.__szene.getWechselSzene(): - self.__wechselSzene() \ No newline at end of file + self.__wechselSzene() -- cgit v1.3.1