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.