🐢
# Turtle Graphics
Einführung in die Schildkrötenwelt
---
🖌
- Turtle: englisch für **Schildkröte**
- vorhandener Baustein in Python
- Prinzip eines **programmierbaren Pinsels**: es wird eine Schildkröte bewegt, die Linien zieht
Note:
- Vorteil: man kann mit wenig Aufwand Zeichenschritte sehr oft hintereinander wiederholen lassen (z. B. fünzig Kreise zeichnen)
- Ursprung: vor vierzig Jahren hat ein Mathematiker sich diese Grafiken ausgedacht, wahrscheinlich weil es toll fand wie sich Schildkröten bewegen und wie sie dabei Spuren im Sand hinterlassen
---
## Lasst die Schildkröten frei!
```python
# Schildkrötenwelt laden
from turtle import *
# Aussehen festlegen
shape("turtle")
```
Note:
- Diese Befehle werden immer gebraucht, um mit der Schildkröte malen zu können
- Raute, "Gatter", "Gartenzaun": Leitet Kommentar ein (alls dahinter wird vom Compiler ignoriert)
---
## Die leere Schildkrötenwelt

---
## Beispiel
```python
# Schildkrötenwelt laden
from turtle import *
# Aussehen festlegen
shape("turtle")
# 100 Schritte nach vorn gehen
forward(100)
```
---
## Befehle (1)
- 50 Schritte geradeaus gehen:
`forward(50)`
- 50 Schritte zurück gehen:
`backward(50)`
- Um 90° nach links drehen:
`left(90)`
- Um 90° nach rechts drehen:
`right(90)`
Note:
- Zahlen bei forward() haben andere Bedeutung (Semantik) als bei left() und right()
---
## Achtung, Drehwurm!
---
## Befehle (2)
- Schildkröte **auf Startpunkt** (Koordinatenursprung) zurücksetzen:
`home()`
- Einen Schritt **rückgängig** machen:
`undo()`
- Zeichnung leeren und Position der Schildkröte **zurücksetzen**:
`reset()`
---
# Aufgabe 1
---
## Ein Quadrat malen
- Verwendet die Befehle, um die Welt für die Schildkröte zu laden:
```python
from turtle import *
shape("turtle")
```
- Nutzt die Befehle `forward(`Schritte`)`, `left(`Winkel`)` oder `right(`Winkel`)`, um ein Quadrat zu zeichnen.
Ersetzt dabei Schritte und Winkel durch eine beliebige Zahl.
Note:
- was ist ein Quadrat? Was macht ein Quadrat aus?
- weiterführende Aufgabe: Rechteck, mehrere Vierecke ineinander verschachteln (immer wieder zu home() zurückkehren und verschiedene Seitenlängen ausprobieren)
---
## Lösungsbeispiel
```python
from turtle import *
shape("turtle")
forward(100)
left(90)
forward(100)
left(90)
forward(100)
left(90)
forward(100)
done()
```
Note:
- Frage: Was verändert sich, wenn man right(90) statt left(90) verwendet?