Duch odbiera życie

Kolizje - Gry w Pythonie - wstęp (Python)

Kolizja z wrogiem kosztuje życie. Duch goni czarodzieja, a gdy go dotknie, `player.lives` maleje o 1, a duch wraca do swojego rogu. Gdyby został w miejscu, dotykałby gracza w każdym ticku i zabrałby 30 żyć na sekundę. Napis pokazuje liczbę żyć.

class Player(Sprite):
  def __init__(self):
    self.image = 0
    self.color = (124, 58, 237)
    self.size = 30
    self.lives = 3

  def update(self):
    self.position = world.mouse.position

class Ghost(Sprite):
  def __init__(self):
    self.image = 17
    self.color = (100, 116, 139)
    self.size = 30
    self.position = (-80, 80)
    self.rotate = False

  def update(self):
    self.point_towards(player)
    self.move(1)
    if self.touches(player):
      player.lives = player.lives - 1
      self.position = (-80, 80)

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}"

player = Player()
world.add(player)
world.add(Ghost())
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.