Krok 3: licznik na planszy

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

Licznik jest na planszy: klasa `Score` to postać-napis (`self.text`). Ma metodę `add_point(self)`, która dodaje punkt i od razu odświeża napis, a gwiazda po złapaniu woła `score.add_point()`.

import random

class Score(Sprite):
  def __init__(self):
    self.size = 12
    self.color = (99, 102, 241)
    self.position = (0, 88)
    self.points = 0
    self.text = "Gwiazdy: 0"

  def add_point(self):
    self.points = self.points + 1
    self.text = f"Gwiazdy: {self.points}"

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()
      score.add_point()

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