4 Erste Schritte die Turtlegraphik



Ähnliche Dokumente
Erstellen einer Collage. Zuerst ein leeres Dokument erzeugen, auf dem alle anderen Bilder zusammengefügt werden sollen (über [Datei] > [Neu])

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Es sollte die MS-DOS Eingabeaufforderung starten. Geben Sie nun den Befehl javac ein.

Was man mit dem Computer alles machen kann

Konvertieren von Settingsdateien

Kommunikations-Management

DER WEG ZUR VISITENKARTE IHRES VEREINS AUF

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Produktschulung WinDachJournal

Java: Vererbung. Teil 3: super()

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Artikel Schnittstelle über CSV

Professionelle Seminare im Bereich MS-Office

Erklärung zu den Internet-Seiten von

PowerPoint: Text. Text

Visual Basic Express Debugging

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Urlaubsregel in David

Lehrer: Einschreibemethoden

Herzlich Willkommen bei der BITel!

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Sich einen eigenen Blog anzulegen, ist gar nicht so schwer. Es gibt verschiedene Anbieter. ist einer davon.

S/W mit PhotoLine. Inhaltsverzeichnis. PhotoLine

Adobe Photoshop. Lightroom 5 für Einsteiger Bilder verwalten und entwickeln. Sam Jost

Leichte-Sprache-Bilder

Installationsanleitungen

Installationsanleitung CLX.PayMaker Home

Spamfilter-Konfiguration für Outlook 2000 und höher

TopKontor - Kurzleitfaden

Arbeiten mit dem Outlook Add-In

Einstellungen im Internet-Explorer (IE) (Stand 11/2013) für die Arbeit mit IOS2000 und DIALOG

Erstellen einer digitalen Signatur für Adobe-Formulare

.htaccess HOWTO. zum Schutz von Dateien und Verzeichnissen mittels Passwortabfrage

DOKUMENTATION VOGELZUCHT 2015 PLUS

Er musste so eingerichtet werden, dass das D-Laufwerk auf das E-Laufwerk gespiegelt

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Mediator 9 - Lernprogramm

Enigmail Konfiguration

Überprüfung der digital signierten E-Rechnung

Hinweise zum Übungsblatt Formatierung von Text:

Anleitung zur Erstellung einer Batchdatei. - für das automatisierte Verbinden mit Netzlaufwerken beim Systemstart -

2.1 Briefkopf Klicken Sie im Menü Einstellungen auf den Button Briefkopf. Folgendes Formular öffnet sich:

Anleitung zur Daten zur Datensicherung und Datenrücksicherung. Datensicherung

GeoPilot (Android) die App

Drägerware.ZMS/FLORIX Hessen

Der einfache Weg zum CFX-Demokonto

Microsoft Access 2013 Navigationsformular (Musterlösung)

Professionelle Seminare im Bereich MS-Office

Comic Life 2.x. Fortbildung zum Mediencurriculum

TeamSpeak3 Einrichten

Handbuch Groupware - Mailserver

AutoCAD Dienstprogramm zur Lizenzübertragung

PhotoFiltre: Fotos -tauglich verkleinern

Netzwerk einrichten unter Windows

Kara-Programmierung AUFGABENSTELLUNG LERNPARCOURS. Abb. 1: Programmfenster. Welt neu erstellen; öffnen; erneut öffnen; speichern; speichern unter

Anleitung für den Euroweb-Newsletter

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

AUF LETZTER SEITE DIESER ANLEITUNG!!!

Schrittweise Anleitung zur Erstellung einer Angebotseite 1. In Ihrem Dashboard klicken Sie auf Neu anlegen, um eine neue Seite zu erstellen.

iphone-kontakte zu Exchange übertragen

Wichtige Hinweise zu den neuen Orientierungshilfen der Architekten-/Objektplanerverträge

AUSBILDUNG eines OBEDIENCE HUNDES

Windows. Workshop Internet-Explorer: Arbeiten mit Favoriten, Teil 1

Fotostammtisch-Schaumburg

Eigenen Farbverlauf erstellen

Tutorial -

Seite Wo finde ich die Landingpage Auswahl? Seite Wie aktiviere ich eine Landingpage? Seite

Programmierkurs Java

Handbuch für Easy Mail in Leicht Lesen

Speichern. Speichern unter

Arbeiten mit UMLed und Delphi

Lieber SPAMRobin -Kunde!

Fotos in Tobii Communicator verwenden

Festplatte defragmentieren Internetspuren und temporäre Dateien löschen

Problem crazytrickler unter Windows 8:

Um sich zu registrieren, öffnen Sie die Internetseite und wählen Sie dort rechts oben

Der Kalender im ipad

Handbuch B4000+ Preset Manager

Bedienungsanleitung. Stand: Copyright 2011 by GEVITAS GmbH

1. Einführung. 2. Weitere Konten anlegen

Kurzeinstieg in VR-Ident personal

TELIS FINANZ Login App

Lernwerkstatt 9 privat- Freischaltung

Mehrere PDF-Dokumente zu einem zusammenfügen

Menü Macro. WinIBW2-Macros unter Windows7? Macros aufnehmen

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

1. Einschränkung für Mac-User ohne Office Dokumente hochladen, teilen und bearbeiten

Folgeanleitung für Fachlehrer

Microsoft Access 2010 Navigationsformular (Musterlösung)

teischl.com Software Design & Services e.u. office@teischl.com

Durchführung der Datenübernahme nach Reisekosten 2011

Legen Sie nun dieses Verzeichnis mit dem Namen "joomla" hier an: C:xampphtdocs.

Die Dateiablage Der Weg zur Dateiablage

Datensicherung. Beschreibung der Datensicherung

SICHERN DER FAVORITEN

Windows 10 > Fragen über Fragen

2. Speichern und öffnen

Dokumentation für die software für zahnärzte der procedia GmbH Onlinedokumentation

Jederzeit Ordnung halten

Zwischenablage (Bilder, Texte,...)

Transkript:

4 Erste Schritte die Turtlegraphik Dieses Kapitel soll Sie anhand von einfachen Programmen mit einigen zentralen Begriffen von Java vertraut machen, insbesondere dem Objekt und Klassenbegriff. 4.1 Testen der Turtlegraphik Bei der Einführung dieser Begriffe werden wir uns auf eine von uns erstellte Java Erweiterung beziehen, auf eine sogenannte Turtlegraphik. Die Idee der Turtlegraphik stammt übrigens aus der Programmiersprache Logo da die Turtlegraphik mit sehr einfachen Mitteln die Erstellung ansprechender Graphiken ermöglicht und die graphische Ausgabe die Arbeitsweise eines Programms verdeutlicht, wird sie ein wichtiger Bestandteil dieser Veranstaltung sein. Der Turtlegraphik liegt die Vorstellung zugrunde, auf dem Bildschirm krabbele ein kleines Tierchen herum, z.b. eine Schildkröte(engl. Turtle). Diesem Tierchen kann man befehlen, eine gewisse Anzahl von Schritten vorwärts oder rückwärts entlang seiner Blickrichtung zu gehen. Man kann ihm auch befehlen, sich nach rechts oder links zu drehen und so seine Blickrichtung zu ändern. Die Turtle trägt mit sich viele verschiedenfarbige Stifte herum, und man kann es dazu auffordern, einen Stift auszuwählen und ihn abzusetzen oder anzuheben. Wenn sich die Turtle bei abgesetztem Stift bewegt, zeichnet sie eine Linie in der Stiftfarbe. In den CIP Pools der TU ist die Turtlegraphik bereits installiert. Dennoch müssen Sie gewisse Vorbereitungen treffen, um die Turtle zu verwenden (siehe erste Hausaufgabe). Wenn Sie die Hausaufgaben und den Begleittext jedoch zuhause bearbeiten wollen, müssen Sie sie sich dort erst noch installieren. Eine Installationsanleitung finden Sie im Anhang E. Testen Sie bitte zuerst, ob die Turtlegraphik bei Ihnen korrekt installiert ist, indem Sie auf der Kommandozeile > java eip.turtledemo eingeben. Falls das nicht funktioniert, schauen Sie bitte in den soeben genannten Anhang. Auf dem Bildschirm sollte sich ein zweigeteiltes Fenster öffnen. Im oberen Bereich des Fensters sehen Sie eine Schrift sowie ein dreieckiges Symbol, und im unteren,dunklerenbereichsehensieknöpfe,welchemit Step, RunSlow, Stop und Quit betitelt sind. Drücken Sie nun einige Male auf den Step Knopf. Sie werden feststellen, daß sich das dreieckige Symbol bei jedem Druck bewegt und dabei Striche malt, welche eine Art Baum ergeben. Das dreieckige Symbol werden wir im weiteren eine Turtle nennen Sie können sich das so vorstellen, daß auf dem Bildschirm eine kleine Schildkröte herumkrabbelt und dabei Striche zieht. Nach einigen Schritten wird das Drücken des Knopfes mühselig drücken Sie dann den Run Slow Knopf. Die Turtle läuft nun selbstständig über den Bildschirm, ohne auf weitere Knopfdrücke zu warten. Durch einen Druck auf den Stop Knopf können Sie sie jederzeit anhalten. Probieren Sie das und drücken Sie dann den Run Knopf. Nun läuft die Turtle so schnell, daß sie gar nicht mehr zu sehen ist. Auch hier können Sie jederzeit 21

den Stop Knopf drücken. Wenn Sie das Programm verlassen wollen, können Sie jederzeit den Quit Knopf verwenden. 4.2 Die Bestandteile eines einfachen Java Programms Bitte tippen Sie das folgende Beispiel ab und speichern es in einer Datei namens Kreuz.java: Kreuz.java a 1 /* 2 * Benutzt die Turtle, um ein Kreuz zu zeichnen. 3 */ 4 5 import eip.turtlescreen; 6 import eip.turtle; 7 8 class Kreuz { 9 10 public static void main( String[] args ) { 11 TurtleScreen ts = new TurtleScreen(); 12 Turtle t = new Turtle( ts ); 13 14 t.pd(); 15 t.fd( 200 ); 16 t.bk( 100 ); 17 t.rt( 90 ); 18 t.fd( 100 ); 19 t.bk( 200 ); 20 21 } 22 } a Siehe http://www.wire.tu-bs.de/lehre/eipclasses/kapfirst/kreuz.java Anschließend kompilieren Sie es bitte durch > javac Kreuz.java und starten es dann mit dem Befehl > java Kreuz Sie sehen nun das Fenster, welches Sie bereits kennen, und wenn Sie die Turtle wie in Abschnitt 4.1 beschrieben laufen lassen, sollte ein Kreuz gezeichnet werden. Lassen Sie uns die einzelnen Bestandteile dieses Programms Zeile für Zeile untersuchen Sie werden sicher nicht alle Erläuterungen verstehen. Lesen Sie bitte die Ausführungen dennoch, um einen ersten Eindruck der Programmierung in Java zu erhalten. In Zeile 1 3 steht ein durch die Zeichen /* und */ eingeschlossener Text. Dies ist ein Kommentar. Der Java Compiler ignoriert jeden so umschlossenen Text, auch wenn er aus mehreren Zeilen besteht. Kommentare dienen dazu, Programme lesbarer zu machen man kann in Kommentare Texte schreiben, welche beim Verständnis der nebenstehenden Programmbefehle helfen. 22

Zeile 4 ist leer. Leerzeilen dienen der besseren Lesbarkeit des Programmes für Menschen. Für Java haben Leerzeilen gar keine Bedeutung. In Zeile 5 6 wird Java angewiesen, die Programmbausteine eip.turtlescreen und eip.turtle zu importieren. Jedes Java Programm setzt sich aus kleineren Bausteinen zusammen, sogenannten Klassen. Einige Klassen sind in Java fest eingebaut und müssen Java nicht erst bekannt gemacht werden. Die Klassen TurtleScreen und Turtle sind von uns erstellt worden und sind Java normalerweise nicht bekannt. Will man sie verwenden, muß man Java daher zuerst mitteilen, wo sie auf der Festplatte zu finden sind. Dies geschieht durch Angabe eines Verzeichnispfades, gefolgt vom Namen des Programmbausteins. Wenn wir hier den Befehl import eip.turtlescreen verwenden, so sagen wir Java damit: Wir möchten gerne die Klasse TurtleScreen verwenden, die im Pfad eip zu finden ist. Java sucht darauf in gewissen Verzeichnissen 12 nach einer Datei TurtleScreen.class und macht den enthaltenen Programmbaustein für uns nutzbar. In Zeile 8 sehen Sie den Text class Kreuz {. So teilen wir dem Java Compiler mit, daß wir nun selbst einen Programmbaustein, nämlich die Klasse Kreuz, definieren. Java verlangt, daß der Name einer Programmdatei gleich dem Namen der enthaltenen Klasse, ergänzt um das Anhängsel.java ist. Die Klasse Kreuz muss also zwingend in einer Datei namens Kreuz.java enthalten sein. Eine Klasse (ein Programmbaustein) besteht aus vielen Java Befehlen. Immer, wenn in Java mehrere Anweisungen zu größeren Einheiten gruppiert werden müssen, benutzt man dazu geschweifte Klammern. Die geschweifte Klammer in Zeile 8 wird von der geschweiften Klammer } in Zeile 22 geschlossen. So wird der Text der Zeilen 9 21 zusammengefasst. Java interpretiert so allen Text innerhalb dieses Klammerpaares als Bestandteil der Klasse Kreuz. Geschweifte Klammerpaare samt Inhalt nennt man Block. Blöcke enthalten oft andere Blöcke. In unserem Beispiel enthält dieser die Klasse definierende Block noch einen anderen Block, der sich über die Zeilen 10 21 erstreckt. In Zeile 10 sehen Sie den Beginn des Hauptprogramms der Kreuz Klasse. Jede Klasse besteht aus vielen kleineren Programmstücken. Dabei übernimmt jedes der kleineren Programmstücke eine spezielle Aufgabe innerhalb der Klasse. Diese kleineren Programmstücke heissen in Java übrigens Methoden. 12 In welchen Verzeichnissen gesucht wird, müssen Sie hier nicht wissen falls es Sie interessiert, können Sie es im Anhang?? nachlesen. 23

Zeile 11 Zeile 12 Will man etwa ein Programm schreiben, welches zwei Kreuze zeichnet, so würde man zuerst ein Programmstück (eine Methode) schreiben, welches ein Kreuz zeichnet und dann eine weitere Methode, welche die erste Methode zweimal verwendet. Die Aufteilung eines Programms in viele kleine Stücke ist eine sehr gute Sache, da sie Programme überschaubarer und leichter zu erweitern macht. Es stellt sich die Frage, welche Methode ablaufen soll, wenn man ein Programm von der Kommandozeile startet (etwa durch den Befehl java Kreuz ). In Java ist das so gelöst, daß immer die sogenannte main Methode gestartet wird, welche durch den Text public static void main(string[] args) gekennzeichnet ist. Eine Methode besteht aus einer Reihe von Anweisungen, welche durch geschweifte Klammern zusammengefasst werden. Im vorliegenden Beispiel erkennen Sie ein Klammerpaar, welches in Zeile 10 beginnt und in Zeile 21 geschlossen wird. Die main Methode besteht daher aus allen Anweisungen in den Zeilen 11 bis 20. Zeile 11 ist die erste Zeile des Hauptprogramms der Kreuz Klasse. Wenn Sie die Kreuz Klasse von der Kommandozeile starten, beginnt hier die Ausführung des Programms. In Zeile 11 wird auf der rechten Seite des Gleichheitszeichens durch den Text new TurtleScreen() ein neuer TurtleScreen erzeugt. Ein TurtleScreen ist ein Fenster, in welchem die Turtle umherläuft. Der Befehl new TurtleScreen() öffnet hier ein neues Fenster auf dem Bildschirm Ihres Computers. Vorher, in Zeile 5, hatten wir Java mitgeteilt, wo es den Programmbaustein TurtleScreen finden kann. Hätten wir das nicht getan, wüsste Java mit Zeile 11 nichts anzufangen. Damit wir mit Java über den neu angelegten TurtleScreen reden können, müssen wir ihm einen Namen geben. Dies geschieht auf der linken Seite des Gleichheitszeichens, wo wir eine Variable namens ts erzeugen. Zeile 11 ist somit die programmtechnische Formulierung des Befehls Öffne ein neues TurtleScreen Fenster und benenne es mit ts. Zeile 12 ähnelt Zeile 11. Durch den Befehl new Turtle(ts) wird eine neue Turtle angelegt, welche auf den in Zeile 11 angelegten TurtleScreen gesetzt wird. Diese wird daraufhin als dreieckiges Symbol auf dem Bildschirmfenster angezeigt. Die neue Turtle erhält dabei den Namen t. In Zeile 14 19 werden der in Zeile 12 erzeugten Turtle Botschaften geschickt. In Zeile 14 steht beispielsweise der Programmbefehl t.pd(); 24

So schicken wir der Turtle namens t die Botschaft pd() (pd steht für pendown ). Die Turtle senkt daraufhin ihren Stift. Jede Botschaft an die Turtle t bewirkt die Ausführung zur Botschaft passenden Programmcodes, welcher innerhalb der Turtle Klasse definiert ist. Auf den Befehl pd() hin merkt sich die Turtle, daß sie ab sofort beim umherlaufen Linien ziehen soll. Ähnlich sind die Anweisungen t.fd(100); bzw. t.rt(120); Botschaften an die Turtle t, 100 Einheiten nach vorne zu laufen, bzw. sich um 120 Grad nach rechts zu drehen ( fd steht für forward und rt steht für rightturn ). Nachdem wir nun jede Zeile des Beispielprogramms besprochen haben, sollten Sie selbständig kleine Änderungen vornehmen was passiert, wenn Sie die Befehle t.fd(100) durch t.fd(200) ersetzen? Was passiert, wenn Sie die Befehle t.rt(120) durch t.rt(90) ersetzen? Können Sie die Turtle dazu bringen, ein Rechteck zu zeichnen? (natürlich müssen Sie nach jeder Änderung der Datei die Änderungen speichern, den Compiler aufrufen und dann das Programm erneut starten). Ein Hinweis noch: Ihnen sollte aufgefallen sein, daß die meisten Zeilen des Beispielprogrammes mit einem Semikolon enden. In Java müssen die meisten Befehle durch Semikoli abgeschlossen werden. Beachten Sie dies beim Ändern des Beispielprogramms. 4.3 Turtlebefehle Hier stellen wir Ihnen alle Befehle vor, welche die Turtle versteht und zeigen Ihnen in einigen Beispielprogrammen, wie diese Befehle zu verwenden sind. Bei der Vorstellung der Befehle gehen wir davon aus, daß t eine Turtle bezeichnet. pu( ) pd( ) fd( n ) pen up die Turtle hebt ihren Stift. Beim Bewegen zeichnet die Turtle nicht. pendown dieturtlesenktihrenstift. BeimBewegenzeichnet die Turtle. forward die Turtle bewegt sich n Schritte vorwärts. Dabei ist n eine reelle Zahl. Beispielsweise bewegt sich die Turtle t durch den Befehl t.fd( 3.5 ); bk( n ) rt( n ) lt( n ) home() dreieinhalb Schritte vorwärts. backward Die Turtle bewegt sich n Schritte rückwärts. Dabei ist n eine reelle Zahl. right turn die Turtle dreht sich um n Grad nach rechts. Dabei ist n eine reelle Zahl. left turn die Turtle dreht sich um n Grad nach links. Dabei ist n eine reelle Zahl. Bewegt die Turtle in die Mitte des Zeichenfeldes. Wenn ihr Stift dabei unten ist, wird eine Linie gezeichnet.x 25

hide() show() Macht die Turtle unsichtbar sie zeichnet dann zwar noch, verdeckt aber nicht mehr Teile der Zeichnung. Macht eine zuvor durch hide() versteckte Turtle wieder sichtbar. setpc( color ) Setzt die Farbe, in welcher die Turtle zeichnet. Um diesen Befehl, in einem eigenen Programm zu verwenden, muß zum Beginn des Programms der Befehl import java.awt.color; stehen. Gültige Farben sind: Color.black, Color.blue, Color.cyan, Color.darkGray, Color.gray, Color.green, Color.lightGray, Color.magenta, Color.orange, Color.pink, Color.red, Color.white, Color.yellow Sie können auch eigene Farben kreieren: Jede Farbe hat einen Rot, einen Grün und einen Blauanteil zwischen 0 und 255. Sie können eigene Farben erzeugen, indem Sie die Farbe new Color( Rotanteil, Gruenanteil, Blauanteil ) Z.B.: t.setpc( Color.blue ); // Turtle zeichnet in Blau t.setpc( Color.black ); // Turtle zeichnet in Schwarz t.setpc( new Color(255,0,0) ); // zeichnet in Rot t.setpc( new Color(100,100,255) ); // zeichnet in Blaugrau Weiter unten finden Sie ein Beispiel, das die Verwendung von Farben demonstriert. clearscreen( color ) Die Zeichenfläche der Turtle wird in der angegebenen Farbe gelöscht. Um diesen Befehl, in einem eigenen Programm zu verwenden, muß zum Beginn des Programms der Befehl Befehle zur Fehlersuche: import java.awt.color; WiemanFarbenverwendet,istbeimBefehlsetpcundimunten stehenden Beispiel beschrieben. debug=true Um Ihnen bei der Fehlersuche in Ihren Programmen zu helfen, hat die Turtle einen Debug-Modus (Fehlersuchmodus). Der Debug-Modus wird in einer Turtle t durch den Befehl t.debug=true; debug=false angestellt. Sobald der Debug-Modus angestellt ist, gibt die Turtle bei jedem Befehl aus, was sie gerade tut. Der Debug-Modus kann durch den Befehl 26

t.debug=false; wieder ausgestellt werden. setname( name ) Wenn Sie mit mehreren Turtles arbeiten, macht es Sinn, jeder einen eigenen Namen zu geben. Dadurch können Sie im Debug Modus erkennen, welche der Turtles die Debug Meldung ausgegeben hat. Der Befehl t.setname("tina Turtle"); report() bewirkt, daß die Turtle t jeder Debug Ausgabe den Namen Tina Turlte voranstellt. Gibt die Position und Blickrichtung der Turtle aus. Das folgende Beispielprogramm verwendet all die oben genannten Befehle: Demo1.java a 1 /* Demonstriert die Verwendung der Turtlebefehle 2 */ 3 4 import eip.*; // ermöglicht die Verwendung der Turtle 5 import java.awt.color; // ermöglicht die Verwendung von Farben 6 7 public class Demo1 8 { 9 10 public static void main(string[] args) // Hauptprogramm 11 { 12 /* Turtlescreen und Turtle anlegen: */ 13 TurtleScreen ts = new TurtleScreen(); 14 Turtle t = new Turtle( ts ); 15 16 // Farbe der Zeichenfläche und Farbe der Turtle einstellen */ 17 t.clearscreen( Color.orange ); 18 t.setpc( Color.blue ); 19 20 t.setname("tina Turtle"); // Name für Debug-Ausgaben einstellen 21 t.report(); // Status anzeigen 22 t.debug=true; // Debug-Modus anstellen 23 t.pd(); // Stift senken 24 t.fd( 100 ); // 100 Schritt vorwärts 25 t.rt( 90 ); // 90 Grad rechtsdrehen 26 t.pu(); // Stift heben 27 t.fd( 100 ); // 100 Schritt vorwärts 28 t.lt( 90 ); // 90 Grad linksdrehen 29 t.hide(); // Verstecken 30 t.pd(); // Stift senken 31 t.bk( 50.5 ); // Rückwärts 50.5 32 t.debug=false; // Debug-Modus ausstellen. 33 t.setpc( new Color( 50, 100, 50 ) ); // eigene Stiftfarbe 34 t.show(); // wieder anzeigen 35 t.home(); // zurück zum Mittelpunkt 36 37 } 38 } a Siehe http://www.wire.tu-bs.de/lehre/eipclasses/kapfirst/demo1.java 27

Verbotene Befehle: Die folgenden Befehle dürfen Sie in den ersten Hausaufgaben nicht benutzen. Sie durchbrechen den Turtle Gedanken, der vorsieht, daß die Turtle nur lokal, d.h. in ihrem eigenen Koordinatensytem, arbeitet. setposition( x, y) Setzt die Position der Turtle auf dem Zeichenfeld. x und y sind dabei reelle Zahlen. Wenn der Stift unten ist, wird bei der Bewegung eine Linie gezeichnet. Beispielsweise bewegt sich die Turtle t durch den Befehl t.setposition( 10, 10 ); auf die Position mit den Koordinaten (10,10). double getx() Liefert die horizontale Koordinate der Turtle auf dem Zeichenfeld. Das Ergebnis ist eine reelle Zahl: Zum Beispiel speichert double x = t.getx(); die horizontale Koordinate der Turtle t in der Variablen x. double gety() Liefert die horizontale Koordinate der Turtle auf dem Zeichenfeld zurück. setheading( d ) Setzt die Richtung, in welche die Turtle schaut. Dabei schaut die Turtle genau nach oben, wenn d == 0 ist. d ist eine reelle Zahl. Zum Beispiel läßt der Befehl t.setheading(90); die Turtle genau nach rechts schauen. double getheading() Ermittelt die Blickrichtung der Turtle. Zum Beispiel speichert der Befehl double d = t.getheading(); die Blickrichtung der Turtle t in der Variable d. boolean isshown() gibt zurück, ob die Turtle momentan angezeigt wird. boolean penisdown() gibt zurück, ob der Stift der Turtle abgesetzt ist oder nicht. Das folgende Programm verwendet einige dieser verbotenen Befehle, um ein Rechteck zu zeichnen: 28

Tabu.java a 1 /* Demonstriert die Verwendung der verbotenen Turtlebefehle 2 */ 3 4 import eip.*; // ermöglicht die Verwendung der Turtle 5 import java.awt.color; // ermöglicht die Verwendung von Farben 6 7 public class Tabu 8 { 9 10 public static void main(string[] args) // Hauptprogramm 11 { 12 /* Turtlescreen und Turtle anlegen: */ 13 TurtleScreen ts = new TurtleScreen(); 14 Turtle t = new Turtle( ts ); 15 16 t.setposition( 100, 100 ); 17 t.pd(); // Stift senken 18 t.setposition( 150, 100 ); 19 t.setposition( 150, 150 ); 20 t.setposition( 100, 150 ); 21 t.setposition( 100, 100 ); 22 23 Std.out.println("Position : (" + 24 t.getx() + "," + t.gety() + ")"); 25 Std.out.println("Blickrichtung: " + t.getheading()); 26 27 } 28 } a Siehe http://www.wire.tu-bs.de/lehre/eipclasses/kapfirst/tabu.java 29