Appearance
4 — Vogel und Schwerkraft
Nun wollen wir endlich den Vogel ins Spiel bringen. Zuerst wird ein Aktor angelegt und horizontal positioniert:
python
vogel = Actor("vogel")Der Vogel unterliegt der Schwerkraft. Deren Stärke ist ein weiterer Einflussfaktor auf die Schwierigkeit des Spiels. Wir definieren:
python
schwerkraft = 0.3Beim freien Fall des Vogels ändert sich seine Geschwindigkeit. Diese wird in der Variable .vy des Vogel gespeichert. Bei der Bewegung wird erst die Geschwindigkeit um schwerkraft erhöht, anschliessend wird die vertikale Position .y um .vy erhöht.
✏️ Aufgabe 4
- Erstellen Sie im Programm einen neuen Aktor für den Vogel.
- Erweitern Sie das Unterprogramm
drawso, dass der Vogel gezeichnet wird. - Erstellen Sie ein Unterprogramm
platziereVogel, welches die horizonalte Position auf 75, die vertikale Position auf 200 und die vertikale Geschwindigkeit des Vogels auf 0 setzt. - Rufen Sie das Unterprogramm
platziereVogelvor dem Aufruf vonpgtrun.goauf. - Erstellen Sie ein Unterprogramm
bewegeVogel, welches den freien Fall des Vogels gemäss oben stehendem Flussdiagramm modelliert.
Mathematische Herleitung
Für die Simulation des freien Falls helfen folgende Überlegungen. Als Ausgangspunkt dienen die Newtonschen Bewegungsgleichungen:
a=ΔtΔvv=ΔtΔy
In der Simulation interessiert die jeweilige Änderung der Geschwindigkeit und der Position, also werden die Gleichungen entsprechend umgeformt:
Δv=a⋅ΔtΔy=v⋅Δt
In einem Simulationsschritt kann also die neue Geschwindigkeit und Position so bestimmt werden:
vnyn=vn−1+Δv=vn−1+a⋅Δt=yn−1+Δy=yn−1+vn⋅Δt
Vereinfachend kann Δt=1 gewählt werden. Somit ergibt sich:
vnyn=vn−1+a=yn−1+vn