Rekursive Prozeduren 1

Aus ProgrammingWiki
Archivierte Version vom 2009-05-07T18:53:19+00:00. Aktuelle Version

Heute beschäftigen wir uns mit einen Turtle ist eine Zeichenroboter die man sich vorstellen kann wie eine Schildkröte mit stift am Bauch Der Turtle lebt auf einer Zeichenfläche (canvas).

In den folgenden Beispielen werden Sie auf verschiedenen canvas mit verschiedenen Turtles arbeiten. um diese anzusprechen hat jede fläche und jeder Turtle einen eigenen Namen welcher immer vorher angegeben wird. In der regel wird die erste Zeichenfläche canvas1 mit turtle1 auf canvas2 turtle2 und so weiter

Sämtliche Kommandos, die eine Turtle versteht, finden sich in der folgenden Liste. Das Aufrufmuster ist: ([comando] [turtle] [parameter])


Turtle Befehle
BefehlBeschreibung
homesetzt den Turtle auf die Mitte der Zeichenfläche
forward turtle xlässt den Turtle x Schritte nach vorn gehen
backward turtle xlässt den Turtle x schritte nach hinten gehen
pendown turtlesetzt den stift ab und lässt den turtle zeichnen (standart)
penup turtlenimmt den stift hoch und der turtle hört auf zu zeichnen
penwidth turtle xSetzt die Stärke des Stiftes auf x
pencolor turtle r g bSetzt die Farbe des Stiftes auf Rot Gelb Grün (Werte der Farben im bereich 0 - 255)
right turlte xDreht den Turtle um x Grad nach Rechts
left turtle xDreht den Turtle um x Grad nach Links
hide turtleBlendet den Turtle aus
show turtleBlendet den Turtle ein
clone turtleClont den Turtle in der Aktuellen Position
panerase turtleDer Turtle löscht Linien über die er Fährt (wie ein Radiergummi)
clear canvasLöscht die Zeichenfläche


Setzen sie sich mit der folgenden Beispiel auseinander und testen sie eigenen Funktionen mit dem Turtle

Ihr Browser unterstützt Canvas nicht.

<eval> (define quad</eval>

 (lambda (turtle s)
   (
     (pencolor turtle 255 0 0)
     (penwidth turtle 5)
     (forward turtle s)
     (right turtle 90)
     (forward turtle s)
     (right turtle 90)
     (forward turtle s)
     (right turtle 90)
     (forward turtle s)
     (right turtle 90))))

(clear canvas1) (home turtle1) (quad turtle1 s)

Aufgabe 1