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.