Krok 4: płynny lot

Biedronka w ogrodzie - Gry w Pythonie - przykłady (Python)

Płynny lot zamiast skakania. `distance_to` mierzy odległość do myszki, `point_towards` obraca biedronkę w jej stronę, a `move(4)` przesuwa o 4 w kierunku, w którym patrzy. Warunek `> 4` zatrzymuje biedronkę przy myszce, żeby nie drgała w miejscu.

import random

class Ladybug(Sprite):
  def __init__(self):
    self.image = 26
    self.color = (220, 38, 38)
    self.size = 24
    self.flowers = 0

  def update(self):
    if self.distance_to(world.mouse.position) > 4:
      self.point_towards(world.mouse.position)
      self.move(4)

class Flower(Sprite):
  def __init__(self):
    self.image = 30
    self.color = (236, 72, 153)
    self.size = 18
    self.position = (random.randint(-90, 90), random.randint(-90, 90))

  def update(self):
    if self.touches(ladybug):
      self.position = (random.randint(-90, 90), random.randint(-90, 90))
      ladybug.flowers = ladybug.flowers + 1
      if ladybug.flowers == 10:
        world.stop()

ladybug = Ladybug()
flower = Flower()
world.add(flower)
world.add(ladybug)
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.