Kilka przeszkód: lista i for

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

Gdy przeszkód jest dużo, trzymamy je na liście `rocks` i gracz sprawdza każdą w pętli `for`. Żaba skacze strzałkami, a dotknięcie dowolnego kamienia odsyła ją na start. Dojście do lilii kończy grę (`world.stop()`).

class Rock(Sprite):
  def __init__(self, x, y):
    self.image = 2
    self.color = (120, 113, 108)
    self.size = 25
    self.position = (x, y)

class Frog(Sprite):
  def __init__(self):
    self.image = 22
    self.color = (22, 163, 74)
    self.size = 20
    self.position = (-85, -85)

  def update(self):
    if world.key('right'):
      self.x = self.x + 2
    if world.key('left'):
      self.x = self.x - 2
    if world.key('up'):
      self.y = self.y + 2
    if world.key('down'):
      self.y = self.y - 2
    for rock in rocks:
      if self.touches(rock):
        self.position = (-85, -85)
    if self.touches(lily):
      world.stop()

rocks = [Rock(-40, -40), Rock(0, 20), Rock(40, -20), Rock(60, 60)]
for rock in rocks:
  world.add(rock)
lily = Rock(85, 85)
lily.image = 30
lily.color = (219, 39, 119)
world.add(lily)
world.add(Frog())
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.