211
Das Friedenslogo
def fahne():
jump(-3*streifenbreite)
right(90)
jump(-200)
for farbe in friedensfarben:
streifen(400, streifenbreite, farbe)
jump(streifenbreite, -90)
penup()
home()
pendown()
reset()
fahne()
>
Füge die Ergänzungen in den Code von
peace_arbeit.py
ein und
teste das Programm.
Das Friedenslogo
Nun fehlt uns noch das Friedenslogo. Das besteht aus vier Linien vom Mit-
telpunkt zum Rand des Kreises und aus eben diesem Rand. Eine Funktion,
die einen Kreis mit gegebenem
radius
zeichnet, dessen Mittelpunkt die
aktuelle Turtle-Position ist, hatten wir schon in Kapitel 6 für das Yin-Yang-
Symbol entworfen (aber nicht codiert). Der Code sieht so aus:
def kreis(radius):
jump(radius, 90)
circle(radius)
jump(radius, -90)
>
Füge diese Funktionsdefinition in
peace_arbeit.py
ein, führe das
Programm aus und überzeuge dich im interaktiven Modus, dass
kreis()
richtig arbeitet. Zum Beispiel:
>>> reset()
>>> pensize(5)
>>> kreis(50)
>>> pensize(10)
>>> kreis(80)
212
Mehr Schleifen: Friedenslogo, Superrosette
Kapitel
8
Nun müssen noch die vier Radien gezeichnet werden. Das kannst du mit
den Turtle-Grafikmitteln, die du bereits kennst, locker erreichen. Ich möch-
te dich aber mit einer neuen Turtle-Grafik-Funktion bekannt machen, die
hier vorteilhaft angewendet werden kann:
setheading()
. Sie hat einen
Parameter, und zwar einen Winkel.
setheading(winkel)
stellt die Turtle
so ein, dass sie in Richtung
winkel
schaut. Dabei entspricht
winkel = 0
der Richtung nach oben (Norden) und die Winkel werden im Uhrzeigersinn
gemessen. Beispiele:
>>> reset()
>>> pensize(8)
>>> setheading(45)
>>> setheading(120)
>>> setheading(270)
>>> setheading(-45)
Im Friedens-Logo haben wir vier Radien zu zeichnen, und zwar mit folgen-
den Orientierungen: 135°, 180°, 225° und 0°. Noch dazu ist jeder Radius
ein
streifen()
.
Führe das Programm
peace_arbeit.py
nochmals aus. Es entsteht das
Bild mit der Regenbogenfahne. Fahre nun interaktiv fort:
>>> pencolor("white")
>>> pensize(20)
>>> kreis(120)
>>> for winkel in (135, 180, 225, 0):
setheading(winkel)
streifen(120, 20, "white")
>>> hideturtle()
Da hat sich nun eine
for
-Schleife über die Folge der benötigten Winkel
sehr bewährt. Natürlich soll das Ergebnis dieser interaktiven Experimente
noch in eine Funktion
logo()
im Programm
peace_arbeit.py
gegossen
werden:
So funktioniert
setheading()
.

Get Python für Kids now with O’Reilly online learning.

O’Reilly members experience live online training, plus books, videos, and digital content from 200+ publishers.