diff options
| author | schererleander <leander@schererleander.de> | 2025-12-26 22:50:10 +0100 |
|---|---|---|
| committer | schererleander <leander@schererleander.de> | 2025-12-26 22:50:10 +0100 |
| commit | 3d18c9ee4d24dad3f7814e322c16b8d221ba4306 (patch) | |
| tree | ac4601e6bf136f99c2d1eed2061019be2fe0802d /Steuerung.py | |
| parent | 293ef10e8b9af8060a8ce1b7c4aae33a65707f03 (diff) | |
feat(logic): use delta time for movment of sprites
Diffstat (limited to 'Steuerung.py')
| -rw-r--r-- | Steuerung.py | 47 |
1 files changed, 25 insertions, 22 deletions
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)
+
+ 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):
+ 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() |
