Appearance
5 — Mehrere Hindernisse
Wenn wir mehrere Hindernisse darstellen wollen, muss für jedes Hindernis der Code für die Bewegung ausgeführt werden. Die einfachste Idee ist es, das Unterprogramm, welches das Hindernis bewegt, für jedes neue Hindernis zu kopieren.
Das würde so aussehen:
python
def bewegeInsel1():
insel1.y = insel1.y + 1
if insel1.y > HEIGHT + 100:
insel1.y = -200
def bewegeInsel2():
insel2.y = insel2.y + 1
if insel2.y > HEIGHT + 100:
insel2.y = -200
def update():
bewegeInsel1()
bewegeInsel2()Wir sehen, dass der Code des Unterprogramms fast identisch ist, nur der Name der Variable ändert. In Python können wird solche Unterprogramme zu einem zusammenfassen.
Dazu verwenden wir im Unterprogramm eine neue Variable hindernis. In den Klammern bei der Definition des Unterprogramms geben wir diese Variable an:
def bewegeHindernis(hindernis):
Damit teilen wir Python mit, dass das Unterprogramm bewegeHindernis eine Variable verwendet, welche noch festgelegt werden muss. Eine solche Variable heisst Parameter.
Beim Aufruf eines solchen Unterprogramms müssen wir angeben, welchen Wert wir nun für diese Variable einsetzen wollen, also welches tatsächliche Hindernis.
python
def bewegeHindernis(hindernis):
hindernis.y = hindernis.y + 1
if hindernis.y > HEIGHT + 100:
hindernis.y = -200
def update():
bewegeHindernis(insel1)
bewegeHindernis(insel2)✏️ Aufgabe 3.5 — Mehrere Hindernisse
- Fügen Sie im Unterprogramm
bewegeHindernisden Parameterhindernisein und verwenden Sie den Parameter anstelle der Variableinsel1. - Passen Sie den Aufruf von
bewegeHindernisso an, dassinsel1als Parameter angegeben wird. - Fügen Sie ein zweites Hindernis
insel2in das Programm ein. - Fügen Sie ein drittes und viertes Hindernis in das Programm ein.