i

Bewegung der Spielfigur

In diesem Abschnitt lernst Du, wie man Attribute nicht nur auf bestimmte Werte setzen, sondern um bestimmte Werte erhöhen bzw. erniedrigen kann.

Programm zum Ausprobieren

Starte das folgende Programm und drücke mehrfach hintereinander irgendeine Taste.

WIDTH = 800
HEIGHT = 600
TITLE = "Reaktion auf den Benutzer"

raumschiff = Actor("raumschiff_gruen.png")
raumschiff.x=400
raumschiff.y=300

def draw():
    screen.blit("sterne",(0,0))
    raumschiff.draw()

def on_key_down():
    raumschiff.x += 20
    raumschiff.angle -= 45

Erklärung

Die beiden Zeichenkombinationen += und -= sorgen dafür, dass sich das entsprechende Attribut um den hinten angegeben Wert erhöht bzw. erniedrigt.

	raumschiff.x += 20

erhöht den Wert von raumschiff.x um 20.

Mit genau der gleichen Wirkung könnte man übrigens auch schreiben

	raumschiff.x = raumschiff.x + 20

Welche Schreibweise man verwendet, ist vor allem eine Frage des persönlichen Geschmacks.

Aufgabe 1: Bewegung nach unten

Schreibe ein Programm so, dass das Raumschiff am Anfang in der linken oberen Ecke des Fensters sitzt. Die Spitze des Raumschiffs soll nach unten schauen. Bei jedem Tastendruck soll sich das Raumschiff um 10 Pixel nach unten bewegen.

Aufgabe 2: Schräge Bewegungen

Schreibe ein Programm so, dass das Raumschiff am Anfang in der linken oberen Ecke des Fensters sitzt. Die Spitze des Raumschiffs soll in Richtung der rechten unteren Ecke schauen (da musst Du ein bisschen mit den Winkeln herumprobieren). Bei jedem Tastendruck soll sich das Raumschiff dann um 8 Pixel nach rechts und um 6 Pixel nach unten bewegen.

Aufgabe 3: Meteoriten auf Kollisionskurs

Schreibe ein Programm mit zwei Meteoriten. Am Anfang soll der eine in der linken oberen Ecke sitzen und nach rechts schauen, der andere soll in der rechten oberen Ecke sitzen und nach links schauen. Bei jedem Tastendruck soll sich der erste Meteorit 10 Pixel nach rechts und der zweite um 7 Pixel nach links bewegen.

Suche

v
7.4.4.2
inf-schule.de/oop/spiele-python/ereignisse/bewegung
inf-schule.de/7.4.4.2
inf-schule.de/@/page/xEO2VZzSDuLtxamQ

Rückmeldung geben