Najlepszy wynik

Tekst i stan gry - Gry w Pythonie - wstęp (Python)

Rekord przeżywa restart: przy końcu gry porównujemy wynik z `best` i zapamiętujemy większy. Restart zeruje punkty i życia, ale nie rekord. Warunek `self.state == "play"` sprawia, że koniec gry zapisujemy raz, a nie w każdym ticku.

class Game(Sprite):
  def __init__(self):
    self.size = 14
    self.color = (99, 102, 241)
    self.state = "play"
    self.points = 0
    self.best = 0
    self.ticks = 0

  def update(self):
    if self.state == "play":
      self.ticks = self.ticks + 1
      if world.key('space'):
        self.points = self.points + 1
      if self.ticks >= 150:
        self.state = "over"
        if self.points > self.best:
          self.best = self.points
    if self.state == "over" and world.key('r'):
      self.state = "play"
      self.points = 0
      self.ticks = 0
    if self.state == "play":
      self.text = f"Wciskaj spację! Punkty: {self.points}"
    else:
      self.text = f"Wynik: {self.points}\nRekord: {self.best}\nr = jeszcze raz"

world.add(Game())
world.start()

Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.

Wszystkie lekcje kursu Gry w Pythonie - wstęp·Zaloguj się, aby zapisać postęp na koncie.