Krok 3: licznik kryształów

Kryształowa jaskinia - Gry w Pythonie - przykłady (Python)

Licznik to osobna postać-napis: klasa `Game` z `self.text`, na górze planszy w (0, 88). Kryształ po zebraniu dodaje 1 do `game.points`, a `Game.update` co tick odświeża napis `Kryształy: P`.

import random

class Game(Sprite):
  def __init__(self):
    self.size = 14
    self.color = (99, 102, 241)
    self.position = (0, 88)
    self.points = 0

  def update(self):
    self.text = f"Kryształy: {self.points}"

class Player(Sprite):
  def __init__(self):
    self.image = 0
    self.color = (124, 58, 237)
    self.size = 25
    self.rotate = False

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

class Crystal(Sprite):
  def __init__(self):
    self.image = 43
    self.color = (14, 165, 233)
    self.size = 18
    self.position = (random.randint(-85, 85), random.randint(-85, 70))

  def update(self):
    if self.touches(player):
      game.points = game.points + 1
      self.position = (random.randint(-85, 85), random.randint(-85, 70))

game = Game()
player = Player()
crystal = Crystal()
world.add(game)
world.add(player)
world.add(crystal)
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.