143
jump()
die Anweisungen des Funktionskörpers ein. (Wie gehabt: markieren
und
(ÿ)
.)
>
Die paar Anweisungen im Programm, die direkt ausgeführt werden
sollen, verschiebe unter die Funktionsdefinitionen. Außerdem ist noch
ein Aufruf der Funktion
dreierpack()
nötig, damit überhaupt etwas
gezeichnet wird.
reset()
pensize(10)
right(90)
dreierpack(65, 35)
hideturtle()
In diesem Code-Abschnitt kommen vier Zahlen-Argumente vor. Alle diese
Zahlen können abgeändert werden, wodurch andere Grafiken entstehen.
>
Speichere das Programm und führe es aus. Es sollte zunächst dieselbe
Zeichnung entstehen wie vor der Programmänderung.
>
Wenn es korrekt funktioniert, speichere eine Kopie unter dem Namen
dreieck12.py
.
Experimentiere ein wenig mit dem Programm. Entweder, indem du in die-
sem letzten Abschnitt des Programmtextes die Zahlen änderst und das
Programm wiederholt mit verschiedenen Werten ausführst. Oder, indem du
in der IPI-Shell die Zeichnung immer wieder mit
reset()
löschst und der-
artige Anweisungen direkt eingibst.
>
Mach mit! Zum Beispiel:
>>> reset()
>>> pensize(3)
>>> right(30)
>>> dreierpack(100, -28)
jump()
Wir wollen jetzt solche unterschiedlichen Dreierpacks an verschiedene
Stellen im Zeichenfenster zeichnen. Zu diesem Zweck müssen wir mit der
Turtle, ohne zu zeichnen, zu diesen Stellen springen. Das erreichen wir am
besten mit einer Funktion
jump()
. Ich finde, das englische Wort
jump
passt besser zu all den übrigen Turtle-Grafik-Funktionen und gefällt mir
auch einfach besser als etwa
springe()
oder Ähnliches …
144
Funktionen mit Parametern
Kapitel
5
Wir wollen diese Funktion gleich so entwerfen, dass sie möglichst vielseitig
verwendbar ist. Denn so etwas kann man sicher oft brauchen. Und zwar
wollen wir, dass die Turtle damit nicht nur geradeaus springen kann, son-
dern auch unter einem bestimmten Winkel zur Seite. Die Turtle-Sprung-
Funktion soll so funktionieren:
Die Sprungstrecke, entlang der die Turtle mit
jump()
nicht
zeichnet, ist
hier
gestrichelt
dargestellt.
Mit welchen Angaben wollen wir festlegen, wie die Turtle springen soll?
Naheliegend ist, die Länge der Sprungstrecke durch die Zahl der Einheiten
festzulegen, etwa wie bei der Funktion
forward()
und die Richtung durch
den Winkel relativ zur Ausgangsrichtung der Turtle. Dabei vereinbaren wir,
dass die Turtle positive Winkel im Uhrzeigersinn misst – wie in der Turtle-
Grafik gebräuchlich. Eine Drehung um einen positiven Winkel ist daher als
Rechtsdrehung auszuführen. Für Linksdrehungen sind negative Winkel zu
verwenden.
Außerdem wollen wir dafür sorgen, dass die Turtle nach dem Sprung wieder
in dieselbe Richtung schaut wie vorher und dass nach dem Sprung der Zei-
chenstift stets unten ist.
>
Sehen wir uns das mit dem IPI an. Lassen wir die Turtle zunächst nach
rechts oben springen. Mach mit!
>>> reset(); dot()
>>> distanz = 85
>>> winkel = 45
>>> penup()
>>> right(winkel)
>>> forward(distanz)
>>> left(winkel)
>>> pendown()
Wie
jump()
funktioniert.

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

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.