Krok 5: wygrana
Duchy w zamku - Gry w Pythonie - przykłady (Python)
Można wygrać: 10 kluczy zmienia stan na `"win"` i pokazuje `Wygrana!`. Gra ma teraz trzy stany: gra, przegrana i wygrana.
import random
class Game(Sprite):
def __init__(self):
self.size = 12
self.color = (99, 102, 241)
self.position = (0, 88)
self.keys = 0
self.lives = 3
self.state = "play"
def update(self):
if self.state == "play":
self.position = (0, 88)
self.text = f"Klucze: {self.keys} Życia: {self.lives}"
if self.lives <= 0:
self.state = "over"
if self.keys >= 10:
self.state = "win"
if self.state == "over":
self.position = (0, 0)
self.text = f"Koniec gry! Klucze: {self.keys}"
if self.state == "win":
self.position = (0, 0)
self.text = f"Wygrana! Klucze: {self.keys}"
class Wizard(Sprite):
def __init__(self):
self.image = 0
self.color = (124, 58, 237)
self.size = 22
self.rotate = False
def update(self):
if game.state != "play":
return
if world.key('right'):
self.x = self.x + 3
if world.key('left'):
self.x = self.x - 3
if world.key('up'):
self.y = self.y + 3
if world.key('down'):
self.y = self.y - 3
class Key(Sprite):
def __init__(self):
self.image = 42
self.color = (202, 138, 4)
self.size = 16
self.jump()
def jump(self):
self.position = (random.randint(-90, 90), random.randint(-90, 70))
def update(self):
if game.state != "play":
return
if self.touches(wizard):
game.keys = game.keys + 1
self.jump()
class Ghost(Sprite):
def __init__(self):
self.image = 17
self.color = (100, 116, 139)
self.size = 22
self.rotate = False
self.corner()
def corner(self):
self.position = random.choice([(-90, -90), (90, -90), (-90, 70), (90, 70)])
def update(self):
if game.state != "play":
return
self.point_towards(wizard)
self.move(1)
if self.touches(wizard):
game.lives = game.lives - 1
wizard.position = (0, 0)
self.corner()
game = Game()
wizard = Wizard()
key = Key()
ghost = Ghost()
world.add(game)
world.add(key)
world.add(wizard)
world.add(ghost)
world.start()Ładowanie interaktywnego edytora... Jeśli się nie pojawi, włącz JavaScript.
Wszystkie lekcje kursu Gry w Pythonie - przykłady·Zaloguj się, aby zapisać postęp na koncie.