Skip to content

Turtle

Objektorientiertes Programmieren

Aufgabe: Auftrag

Lies diese Seite durch, teste den Beispiel-Code mit Thonny aus und löse sämtliche Aufgaben.

Wir können mit Python sogenannte Turtles erstellen. Diese nehmen Befehle entgegen womit sie gesteuert werden. Beim Herumfahren hinterlassen sie eine Spur auf dem Bildschirm:

python
import turtle

turtle.left(30)
turtle.forward(200)

turtle.done()

Über das Turtle-Modul haben wir Zugriff auf eine sogenannte globale Turtle. Dabei handelt es sich aber trotzdem um ein Objekt. Nur wurde es automatisch erzeugt. Auch kann es nur eine einzige solche globale Turtle geben – also besser: man erzeugt die Turtle explizit und gibt ihr auch einen Namen!

benannte Turtle

Wir generieren die Turtle also explizit und geben ihr einen Namen:

python
import turtle

jake = turtle.Turtle()
jake.left(30)
jake.forward(200)

turtle.done()
Zeile 3
Wir erzeugen explizit ein Objekt der Klasse Turtle
Zeile 7
mit turtle.done() zeigen wir dem System, dass die Turtle-Zeichnung beendet ist und die Grafik nicht mehr aktualisiert werden muss. Dieser Befehl ist keine Fähigkeit der Turtle, sondern gehört zum Fenster worin sich die Turtle bewegt.

mehrere Turtles

So lassen sich nun mehrere Turtles erzeugen. Man kann sie durch ihre unterschiedlichen Namen unterscheiden. Sie bewegen sich unabhängig und können auch unterschiedliche Eigenschaften (z.B. Farbe) haben:

python
import turtle

jake = turtle.Turtle()
jake.color("lightblue")

cindy = turtle.Turtle()
cindy.color("violet")

cindy.left(30)
jake.right(30)
cindy.forward(200)
jake.forward(200)

turtle.done()
Zeilen 4 und 6
Wir setzen unterschiedliche Farben, so dass wir erkennen welche Turtle was zeichnet.

Dokumentation

👉 https://docs.python.org/3/library/turtle.html

Aufgaben

Aufgabe: Synchrontanz

Erstelle zwei Turtles und setze diese auf unterschiedliche Farben.
Lasse sie anschliessend «synchron-gespiegelt» etwas auf den Bildschirm zeichnen.
(also wenn die eine Turtle sich nach rechts dreht, dreht sich die andere gleich viel nach links)

mehr: kleiner Tipp

Definiere für die Bewegungen Funktionen. Dann kannst du mit einem Funktionsaufruf mehrere Turtles steuern.

Zusatzaufgabe: Synchrontanz zu viert

Schaffst du das auch mit vier Turtles?
So dass diese an der horizontalen und der vertikalen Achse gespiegelt werden.

Gymnasium Kirchenfeld, fts & lem