# Analogon
Border
Wir treffen ständig Entscheidungen:
- Regnet es? Wenn ja packen wir einen Schirm ein. Wenn nein lassen wir ihn zu Hause.
- Habe ich etwas nicht verstanden? Dann frage ich nach.
# Flussdiagramm
# Pseudo-Code
magst du süsses?
dann:
Vermicelles auf Teller
Schlagrahm darüber
mit Kaffe servieren
2
3
4
5
6
# mit else-Block
Man kann nun einen else-Block hinzufügen. Dieser wird ausgeführt, wenn die Bedingung im if nicht zutrifft!
# Pseudo-Code
Soll die Salatsauce italienisch sein?
falls ja:
Balsamico und Olivenöl beigeben
Meersalz darüberstreuen
sonst:
Weinessig und Rapsöl beigeben
Yoghurt reinmischen
Salatgewürze darüberstreuen
umrühren
2
3
4
5
6
7
8
9
10
# Syntax
# if (ohne else)
if bedingung:
#if-Block
2
Wenn … dann …
# if-else
if bedingung:
#if-Block
else:
#else-Block
2
3
4
Wenn … dann … sonst …
# if (mit elif)
eine Spezialität von Python sind die elif-Blöcke. elif steht für «else-if». Also im Sinn von «sonst wenn».
if bedingung1:
#if-Block
elif bedingung2:
#elif-Block
elif bedingung3:
#elif-Block
...
elif bedingungX:
#elif-Block
else
#else-Block
2
3
4
5
6
7
8
9
10
11
Wenn … dann … sonst wenn … dann … sonst wenn … dann … sonst …
Hinweis
In Python sind die if-else-Strukturen so aufgebaut:
- zuerst muss ein
if
kommen (mit Bedingung) - dann können 0 oder mehrere
elif
kommen (mit Bedingung) - am Schluss kann ein
else
kommen (ohne Bedingung)
Endlos-Animation
Unsere Schneeanimation stoppt ja plötzlich. Wie können wir dieses Problem umgehen?
Variante A:
Wenn die Schneeflocke den unteren Bildrand erreicht, setzen wir sie wieder nach oben
Variante B:
Wir erzeugen nicht zu Beginn 500 Schneeflocken, sondern ständig (in der update
-Funktion) Schneeflocken. Diese Flocken starten alle am oberen Bildrand und fallen runter. Wenn sie unten ankommen, entfernen wir sie aus der Liste.
Actor mit Tastatur steuern
Wir wollen einen Actor mit der Tastatur steuern. Dazu können wir z.B. in der Update-Funktion abfragen, ob eine bestimmte Taste gedrückt ist:
def update():
if keyboard.left:
alien.x = alien.x - 1
elif keyboard.right:
alien.x = alien.x + 1
2
3
4
5
Wenn wir auf einzelne Tastaturereignisse reagieren wollen, z.B. um eine Figur springen zu lassen, dann verwenden wir besser die Ereignis-Methoden on_key_down()
und on_key_up()
.