Turtle Befehle
Aus ProgrammingWiki
Turtle Grafiken
Mit Turtle-Grafik, auch Igelgrafik, wird eine Bildbeschreibungssprache bezeichnet, bei der man sich vorstellt, dass ein stifttragender Roboter (die Schildkröte, engl. „turtle“) sich auf der Zeichenebene bewegt und mit einfachen Kommandos, wie Stift heben, senken, vorwärts laufen und drehen, gesteuert werden kann.
Im Wiki wurde hierfür eine eigene Lösung entwickelt, die sich an bestehenden Systemen orientiert.
Ein Turtle kann gleichzeitig mit dem Canvas Objekt verwendet werden.
Verwendung in Java
In Java wird bereits ein Turtle Objekte turtle zur Verfügung gestellt. Dieses ist identisch mit dem Object turtle1. Weiterhin sind die Objekte turtle2 bis turtle5 vordefiniert. Diese zeichnen jeweils auf die Zeichenfläche mit der zugehörigen Nummer.
Wenn Sie mehrere Turtle auf der gleichen Zeichenfläche verwenden wollen, können Sie mit nachfolgendem Befehl weitere Turtle auf der Zeichenfläche n instanziieren:
var t = new Turtle(1);
Auch das Clonen einer existierenden Turtle ist möglich:
var t2 = t.clone();
Folgende Methoden unterstützt die Klasse Turtle:
function forward (n) function backward (n) function right(a) function left (a) function penUp () // hebt den Stift hoch (kein Zeichnen mehr bei forward/backward) function penDown () // setzt Stift wieder auf function penErase () // setzt Stiftfarbe auf Weiß function penWidth(w) function penColor (r, g, b) function show() function hide()
function setAngle(double a) // setzt die Blickrichtung absolut function setAngleTo(Turtle t) // setzt die Blickrichtung auf anderen Turtle function move(double toX,double toY) // setzt die Position des Turtles absolut function home() // setzt die Position wieder in die Canvas Mitte zurück (nur bei vorgegebener Canvas-Größe)
t.x bzw. t.y // aktuelle Position auslesen
Verwendung in Scheme
In Scheme wird bereits ein Turtle Objekte turtle zur Verfügung gestellt. Dieses ist identisch mit dem Object turtle1. Weiterhin sind die Objekte turtle2 bis turtle5 vordefiniert. Diese zeichnen jeweils auf die Zeichenfläche mit der zugehörigen Nummer.
Wenn Sie mehrere Turtle auf der gleichen Zeichenfläche verwenden wollen, können Sie mit nachfolgendem Befehl weitere Turtle auf der Zeichenfläche n instanziieren:
(define Bob (newturtle 1))
Auch das Clonen einer existierenden Turtle ist möglich:
(define Bob2 (clone Bob))
Folgende Befehle zur Steuerung der Turtle stehen zur Verfügung:
(forward Bob n) (backward Bob n) (right Bob a) (left Bob a) (penUp Bob) // hebt den Stift hoch Bob kein Zeichnen mehr bei forward/backward) (penDown Bob) // setzt Stift wieder auf (penErase Bob) // setzt Stiftfarbe auf Weiß (penWidth Bob w) (penColor Bob r g b) (show Bob) (hide Bob)
(setAngle Bob a) // setzt die Blickrichtung absolut (setAngleTo Bob Eva) // setzt die Blickrichtung auf eine anderen Turtle (move Bob toX toY) // setzt die Position des Turtles absolut (home Bob) // setzt die Position wieder in die Canvas Mitte zurück Bob nur bei vorgegebener Canvas-Größe)