aboutsummaryrefslogtreecommitdiff
path: root/Steuerung.py
blob: 8356aeb84a9cd7cc8e4644875ef5f313144798f8 (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
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():
        self.__wechselSzene()