Abschnittsübersicht

    • Rechteck zeichnen I

      Als Ziel wollen wir einen Roboter zeichnen. Deine Python Datei kannst du zum Beispiel Roboter.py nennen.

      Unser Roboter, den du zeichnen wirst, besteht aus vielen Rechtecken. Du beginnst mit den Grundlagen für ein Rechteck.

      Mathematisch gesehen besteht ein Rechteck aus 4 rechten Winkeln und 4 Seiten. Die gegenüberliegenden Seiten sind gleich lang und parallel.

      Die Befehle, ein Rechteck zu zeichnen, kennst du bereits aus Lektion 1.

      forward(wert)left(wert) oder right(wert)

      Beispiel:

      Rechteck

      Dieser Code beinhaltet eine Wiederholung. Um diesen Code zu optimieren, wirst du nun eine for-Schleife verwenden, die uns die Wiederholung abnimmt.

      for counter in range(wertA, wertE)

      Achtung: Alles was von der Schleife wiederholt werden soll, muss eingerückt sein. Du kannst die Tabulator-Taste dafür nutzen, oder 4 Leerzeichen einfügen.

      counter ist dabei die Schleifenvariable. Sie zählt mit, wie oft die Schleife bereits durchlaufen wurde. Beim ersten Mal ist sie gleich der ersten Zahl in der Liste, die durch wertA angegeben wird. Die Benennung der Variablen kann selbst gewählt werden.
      range(wertA, wertE) ist der Zahlenbereich, von der ersten angegeben Zahl (wertA) bis zur letzten minus 1 (wertE-1). range(1, 3) würde eine Schleife also 2 mal durchlaufen.

      Der Code sieht optimiert nun wie folgt aus:

      for_Schleife

    • Kommen wir zurück zum Rechteckprogramm.

      Das Rechteck soll nun auch farbig ausgemalt sein. Dafür nutzt du die Funktionen color(wert)begin_fill() und end_fill().

      color(wert) kennst du bereits aus Lektion 1 und wird angegeben bevor die Zeichnung erfolgt.
      begin_fill() wird vor dem Zeichen der Form angegeben, die farbig gefüllt werden soll.
      end_fill() muss nach dem Zeichnen der Form angegeben werden und füllt die Form mit der aktuellen Farbe aus.

      Achte wieder auf die Einrückung, der end_fill()-Befehl ist nicht in der for-Schleife.

      farbiges_Rechteck

      Zur Auswahl der Farbe kannst du dir auf folgender Seite die Namen der Farben raussuchen.

      https://cs111.wellesley.edu/reference/colors

      Oder du trägst die Farbe im Hexadezimalcode eintragen, den kannst du auch in einem Bildbearbeitungsprogramm ermitteln. (z.B.: black -> #000000)

    • Rechteck zeichnen II

      Damit du das Rechteck aus Teil 1 dieser Lektion wiederverwenden kannst, erstellst du nun eine Funktion dafür.

      Die Funktion wird definiert mit def und bekommt einen Namen, z.B. rechteck. Dein bisheriger Code zum Rechteck wird eingerückt unter die Funktion gestellt.

      Damit du die Funktion in deinem Programm aufrufst, schreibst du dann rechteck(). 

      Nun sollte dein Code wie folgt aussehen:

      Funktion_Rechteck

    • Damit das Rechteck nun variabel in Höhe, Breite und Farbe wird, werden der Funktion Werte übergeben und innerhalb der Funktion wird mit Variablen gearbeitet.

      Funktion_Rechteck_variabel

    • Nun wird die Funktion noch darum ergänzt, dass der Stift gesetzt pendown() , die Stiftgröße definiert pensize(wert) und der Stift wieder angehoben wird penup(). Außerdem gibst du dem Stift noch eine Startposition setheading(wert), also in welche Richtung die Turtle schaut. Mit dem Wert 0 schaut sie nach rechts. 

      Funktion_Rechteck_variabel_komplett

    • Bewegung und Koordinaten der Turtle

      Du kennst bereits die Bewegungen forward(wert)right(wert) und left(wert). Es gibt auch die Möglichkeit die Turtle zu einem bestimmten Punkt auf der Oberfläche, dem Turtle-Graphics-Fenster, zu bewegen. Dafür musst du wissen, dass die Oberfläche wie ein Koordinatensystem aufgebaut ist. Im folgenden Bild habe ich dir das Koordinatensystem dargestellt. Die Turtle startet immer in der Mitte bei der Koordinate (0, 0).

      Koordinatensystem_beschriftet

      Mit dem Befehl goto(wertX, werty) kannst du die Turtle an die Koordinaten der Oberfläche bewegen. Das ist einfacher, da man genau bestimmen kann, wo die Turtle sich befinden soll.