aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Steuerung.py130
-rw-r--r--main.py19
2 files changed, 81 insertions, 68 deletions
diff --git a/Steuerung.py b/Steuerung.py
index 8356aeb..76985c4 100644
--- a/Steuerung.py
+++ b/Steuerung.py
@@ -1,65 +1,67 @@
-import pygame
-from Szenen import *
-
-
-class Steuerung():
- def __init__(self):
- self.__szene = Menue()
- self.__szenenIndex = 0
- self.__verlasseSpiel = False
- self.__spielerListe = []
-
- self.__clock = pygame.time.Clock()
-
- self.loop()
-
- def __sotiereSpielerListe(self):
- self.__spielerListe.sort(key=lambda spieler: spieler[1], reverse=True)
-
- def __addSpieler(self, spielerName: str, spielerScore: int):
- gibtSpieler = False
- for spieler in range(len(self.__spielerListe)):
- if self.__spielerListe[spieler][0] == spielerName:
- gibtSpieler = True
- self.__spielerListe[spieler] = (spielerName, spielerScore)
- if not gibtSpieler:
- self.__spielerListe.append((spielerName, spielerScore))
-
- def __wechselSzene(self):
- self.__szenenIndex += 1
- if self.__szenenIndex > 3:
- self.__szenenIndex = 0
-
- 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:
- self.__verlasseSpiel = True
- if event.type == pygame.KEYDOWN:
- events.append(event)
- self.__szene.beiEingabe(events)
-
- self.__szene.beiUpdate(dt)
-
- self.__szene.beiZeichne()
-
- if self.__szene.getWechselSzene():
+import asyncio
+import pygame
+
+from Szenen import Menue, Game, Benennung, Score
+
+
+class Steuerung:
+ def __init__(self):
+ self.__szene = Menue()
+ self.__szenenIndex = 0
+ self.__verlasseSpiel = False
+ self.__spielerListe = []
+
+ self.__clock = pygame.time.Clock()
+
+ def __sotiereSpielerListe(self):
+ self.__spielerListe.sort(key=lambda spieler: spieler[1], reverse=True)
+
+ def __addSpieler(self, spielerName: str, spielerScore: int):
+ gibtSpieler = False
+ for spieler in range(len(self.__spielerListe)):
+ if self.__spielerListe[spieler][0] == spielerName:
+ gibtSpieler = True
+ self.__spielerListe[spieler] = (spielerName, spielerScore)
+ if not gibtSpieler:
+ self.__spielerListe.append((spielerName, spielerScore))
+
+ def __wechselSzene(self):
+ self.__szenenIndex += 1
+ if self.__szenenIndex > 3:
+ self.__szenenIndex = 0
+
+ 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)
+
+ async def loop(self):
+ while not self.__szene == None and not self.__verlasseSpiel:
+ dt = self.__clock.tick(60) / 1000.0
+
+ key_events = []
+ for event in pygame.event.get():
+ if event.type == pygame.QUIT:
+ self.__verlasseSpiel = True
+ elif event.type == pygame.KEYDOWN:
+ key_events.append(event)
+
+ if key_events:
+ self.__szene.beiEingabe(key_events)
+
+ self.__szene.beiUpdate(dt)
+ self.__szene.beiZeichne()
+
+ if self.__szene.getWechselSzene():
self.__wechselSzene()
+
+ await asyncio.sleep(0)
diff --git a/main.py b/main.py
index d82800a..a71f5bc 100644
--- a/main.py
+++ b/main.py
@@ -1,15 +1,26 @@
-import pygame
-
import asyncio
+import platform
+import sys
import pygame
from Steuerung import Steuerung
-async def main():
+def running_in_browser() -> bool:
+ return sys.platform == "emscripten"
+
+
+def is_wasm_cpu() -> bool:
+ return "wasm" in platform.machine().lower()
+
+
+async def main() -> None:
pygame.init()
- steuerung = Steuerung(start_loop=False)
+ if running_in_browser():
+ pygame.display.init()
+
+ steuerung = Steuerung()
await steuerung.loop()
pygame.quit()