Zagraj: Gwiezdny zbieracz
Gwiezdny zbieracz - Gry w Pythonie - przykłady (Python)
Tak będzie wyglądać gra z tego tematu. Kliknij planszę i steruj rakietą strzałkami. Zbieraj gwiazdy i uciekaj przed UFO: zderzenie kończy grę. Co 5 gwiazd UFO leci szybciej. Kolejne przykłady pokazują, jak ta gra powstaje krok po kroku, a potem napiszesz własną wersję z kilkoma zmianami.
import random
class Score(Sprite):
def __init__(self):
self.size = 12
self.color = (99, 102, 241)
self.position = (0, 88)
self.points = 0
self.text = "Gwiazdy: 0"
def add_point(self):
self.points = self.points + 1
self.text = f"Gwiazdy: {self.points}"
class Rocket(Sprite):
def __init__(self):
self.image = 12
self.color = (234, 88, 12)
self.size = 22
def update(self):
if world.key('right'):
self.x = self.x + 4
if world.key('left'):
self.x = self.x - 4
if world.key('up'):
self.y = self.y + 4
if world.key('down'):
self.y = self.y - 4
class Star(Sprite):
def __init__(self):
self.image = 4
self.color = (234, 179, 8)
self.size = 16
self.jump()
def jump(self):
self.position = (random.randint(-90, 90), random.randint(-90, 75))
def update(self):
if self.touches(rocket):
self.jump()
score.add_point()
if score.points % 5 == 0:
ufo.speed = ufo.speed + 1
class Ufo(Sprite):
def __init__(self):
self.image = 47
self.color = (22, 163, 74)
self.size = 24
self.speed = 2
self.position = (-100, random.randint(-80, 70))
def update(self):
self.x = self.x + self.speed
if self.x >= 100:
self.position = (-100, random.randint(-80, 70))
if self.touches(rocket):
score.text = f"Koniec gry! Gwiazdy: {score.points}"
world.stop()
score = Score()
rocket = Rocket()
star = Star()
ufo = Ufo()
world.add(score)
world.add(star)
world.add(rocket)
world.add(ufo)
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.