Turtlegrafik für Smartphones und Tablets |
|
Entwicklungsprojekt PHBern |
Programmverzweigungen auf Grund von bestimmten Bedingungen gehören zur Grundstruktur jeder Programmiersprache. Die Anweisungen nach if werden nur ausgeführt, falls die Bedingung erfüllt ist, sonst werden die Anweisungen nach else ausgeführt. Im ersten Beispiel werden 20 Treppen gezeichnet, wobei jede ungerade Treppenstufe rot und jede gerade grün gezeichnet werden soll. Ob die Zahl i gerade oder ungerade ist, kann man mit der Modulodivision durch 2 überprüfen. Ist das Ergebnis der Modulodivision 0 (i % 2 == 0), ist die Zahl gerade, sonst ungerade.
|
![]() |
Erklärungen zum Programmcode:
if (i % 2 == 0) | Neben den Rechenoperationen +, -, * und / wird beim Programmieren häufig die so genannte Modulo-Division % benutzt. Diese liefert den Rest aus der Ganzzahldivision. |
setPos(-195, -195) | Die Turtle wird in die linke untere Ecke positioniert |
setPenWidth(3) | Die Turtle zeichnet 3 Pixel dicke Linien |
Beispiel 2: Liniengrafik mit zwei Farben
|
![]() |
Erklärungen zum Programmcode:
for (int i = -200; i <= 200; i = i + 10) | i = i + 10: nach jedem Schleifendurchlauf wird i um 10 vergrössert. |
setPos(0, 200) | Die Turtle beginnt jede Linie im Punkt (0, 200) zu zeichnen |
moveTo(i, -200) | Bewegt die Turtle von der aktuellen Position zum Punkt mit den Koordinaten (i, -200), wobei i die Werte (-200, -190. -180.... 200) annehmen kann. |
Es können auch mehrere Bedingungen nacheinander überprüft werden. In unserem Beispiel ist die Stiftfarbe zuerst rot, dann grün und für die letzten Quadrate gelb. Die Methode fill() füllt mit der Stiftfarbe die geschlossene Fläche, in der sich die Turtle befindet.
|
![]() |
Erklärungen zum Programmcode:
rt(45).fd(4).fill() | Um die Quadrate fortlaufend zu füllen, bewegt sich die Turtle jeweils unter dem Winkel von 45° um eine kurze Strecke hinein, färbt das Qudrat und geht anschliessend an die Ausgangsposition zurück |