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:
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:
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:
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.