Krok 2: gwiazda

Gwiezdny zbieracz - Gry w Pythonie - przykłady (Python)

Gwiazda ma własną metodę `jump(self)`: losuje nowe miejsce. Wywołujemy ją dwa razy: w `__init__` (gwiazda startuje w losowym miejscu) i po dotknięciu rakiety. Jedna metoda zamiast dwóch takich samych linii.

import random

class Rocket(Sprite):
  def __init__(self):
    self.image = 12
    self.color = (234, 88, 12)
    self.size = 22

  def update(self):
    if world.key('right'):
      self.x = self.x + 4
    if world.key('left'):
      self.x = self.x - 4
    if world.key('up'):
      self.y = self.y + 4
    if world.key('down'):
      self.y = self.y - 4

class Star(Sprite):
  def __init__(self):
    self.image = 4
    self.color = (234, 179, 8)
    self.size = 16
    self.jump()

  def jump(self):
    self.position = (random.randint(-90, 90), random.randint(-90, 75))

  def update(self):
    if self.touches(rocket):
      self.jump()

rocket = Rocket()
star = Star()
world.add(star)
world.add(rocket)
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.