blob: 76985c4ad71e6653bbebad57ccaa568214c003e0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
|
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)
|