Chwila nietykalności
Kolizje - Gry w Pythonie - wstęp (Python)
Zamiast odsyłać wroga, możemy dać graczowi chwilę ochrony. Po trafieniu `self.safe = 60`: przez 2 sekundy gracz miga i kolce go nie ranią, a licznik maleje o 1 co tick. Dopiero gdy dojdzie do zera, kolce znów są groźne. Miganie liczy `self.safe % 10 < 5`: 5 ticków widać, 5 nie.
class Spike(Sprite):
def __init__(self, x, y):
self.image = 3
self.color = (100, 116, 139)
self.size = 25
self.position = (x, y)
class Player(Sprite):
def __init__(self):
self.image = 0
self.color = (124, 58, 237)
self.size = 30
self.lives = 3
self.safe = 0
def update(self):
self.position = world.mouse.position
if self.safe > 0:
self.safe = self.safe - 1
self.visible = self.safe % 10 < 5
else:
self.visible = True
for spike in spikes:
if self.touches(spike):
self.lives = self.lives - 1
self.safe = 60
class Lives(Sprite):
def __init__(self):
self.size = 12
self.color = (220, 38, 38)
self.position = (0, 88)
def update(self):
self.text = f"Życia: {player.lives}"
spikes = [Spike(-50, 0), Spike(50, 0), Spike(0, -50)]
for spike in spikes:
world.add(spike)
player = Player()
world.add(player)
world.add(Lives())
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.