Das Schiff
Abschlussbedingungen
Der Code ohne Kommentar
import pgzrun
WIDTH, HEIGHT = 500, 700
class Schiff(Actor):
def __init__(self):
Actor.__init__(self, 'schiff')
self.bottom = HEIGHT
self.centerx = WIDTH / 2
self.geschwindigkeit = 6
def aktualisiere(self):
if keyboard.left:
self.x -= self.geschwindigkeit
if keyboard.right:
self.x += self.geschwindigkeit
self.clamp_ip(0, 0, WIDTH, HEIGHT)
schiff = Schiff()
def update():
schiff.aktualisiere()
def draw():
screen.fill((255, 255, 255))
schiff.draw()
pgzrun.go( )
Der Code mit Kommentar
import pgzrun
# Breite und Höhe des Programmfensters:
WIDTH, HEIGHT = 500, 700
# Unser Schiff erweitert die Klasse Actor:
class Schiff(Actor):
def __init__(self):
# Hier wird der Konstruktor der Klasse Actor aufgerufen.
# Er erwartet als zweites Argument den Namen einer Bilddatei,
# die im Ordner "images" liegen muss - die Endung lassen wir dabei weg:
Actor.__init__(self, 'schiff')
# Die Unterkante des Schiffes auf die Unterkante des Programmfensters liegen:
self.bottom = HEIGHT
# Die waagerechte Mitte (centerx) des Schiffes soll auf der waagerechten Mitte
# des Programmfensters liegen:
self.centerx = WIDTH / 2
# Um wie viele Pixel kann sich das Schiff maximal bewegen pro Zeitschritt / Bild:
self.geschwindigkeit = 6
# Diese Funktion wird jedes mal aufgerufen, wenn ein neuer Zeitschritt / ein
# neues Bild berechnet wird:
def aktualisiere(self):
# Wenn der Links- oder Rechtspfeil gedrückt ist, dann soll das Schiff um
# einige Pixel nach rechts oder links verschoben werden:
if keyboard.left:
self.x -= self.geschwindigkeit
if keyboard.right:
self.x += self.geschwindigkeit
# Dieser Code sorgt dafür, dass das Schiff nicht den Bildschirm verlassen kann:
self.clamp_ip(0, 0, WIDTH, HEIGHT)
# Ein neues Schiff erzeugen:
schiff = Schiff()
# Diese Funktion ruft Pygame Zero selbst auf, wenn ein neues Bild berechnet wird:
def update():
schiff.aktualisiere()
# Diese Funktion ruft Pygame Zero selbst auf, wenn ein neues Bild gezeichnet wird:
def draw():
screen.fill((255, 255, 255))
schiff.draw()
# Pygame Zero starten:
pgzrun.go( )
Zuletzt geändert: Donnerstag, 20. Februar 2025, 13:36