2.8 Mit Java eine Turtle steuern
2.8.1 Eine Vorlage benutzen
Vorbereitungen JTurtleControl ist ein mit Java erstellte Benutzeroberfläche, die es uns per Klick auf diverse Buttons erlaubt hat, eine oder mehrere Turtle-Objekte über einen Zeichenbereich zu steuern. JTurtleControl benutzte dazu fertige Klassen. Wir wollen nun auf die JTurtleControl-Oberfläche verzichten und Turtle-Objekte mit selbst geschriebenen Java-Programmen steuern. Da wir die Zeichenfläche nicht selbst programmieren wollen, benutzen wir eine Programm-Vorlage, die uns in dieser Arbeit unterstützt, ohne dass wir viel bemerken.

Bevor wir richtig starten, müssen wir sicher stellen, dass das benötigte Turtle-Paket und die entsprechende Vorlage zur Verfügung stehen. Wie man diese Vorarbeit leistet, wird im Anhang  A2: Das Turtle-Paket beschrieben.
 

Turtle-Vorlage Hat man die Turtlevorlage für den Java-Editor, wie in der Anlage A2 beschrieben installiert, so verbirgt sich hinter der Applet-Vorlage jetzt die Turtle-Vorlage. Durch Klicken auf das Applet-Vorlage-Symbol (siehe rote Markierung in Abbildung 2.8.1.1) so öffnet sich im Editor die Vorlage.


Abb. 2.8.1.1: Bereitstellung der Turtle-Vorlage

Zunächst aber fordert der Java-Editor uns auf, einen Dateinamen und ein Ziel für das Speichern der Datei zu wählen.  Wählen wir z.B. TurtleTest, so wird eine Datei TurtleTest.java erzeugt und abgespeichert. Im Editor wird ihr Inhalt, der Quellkode von TurtleTest.java sichtbar.

import turtle.*;
import java.awt.*;

/**
  * Turtle-Projekt: Vorlage.java
  * @version 1.0 vom 03.10.2004
  * @author Michael Pohlig
  */
public class TurtleTest extends TurtleFrame {
    Turtle t1; //es können weitere Turtles angelegt werden.
    public TurtleTest(String title) {
        super(title);
        t1 = new Turtle(tWin);
    }

    public void zeichne() {
        // Hier stehen die Turtle-Anweisungen:

    }

    public static void main (String[] args) {
        new TurtleTest("TurtleTest");
    }
}

DDen größten Teil des Quelltextes können wir noch nicht verstehen, das ist im Moment auch gar nicht nötig. Wir lenken unser Augenmerk auf die gelb unterlegten Stellen und erklären sie in der Reihenfolge wie sie im Quelltext erscheinen.

  1. class TurtleTest
    hier bekommt unser Programm, das in Java immer eine Klasse ist einen Namen, er muss(!!!!) mit dem Namen der Datei, unter dem der Quellcode abgespeichert ist, übereinstimmen.
     
  2. Turtle t1;
    Eine
    Turtle-Objekt t1 deklariert
     
  3. t1 = new Turtle(tWin);
    Mit Hilfe des Konstruktors wird das Objekt
    t1 erzeugt. Als Parameter wird dem Konstruktor ein Zeichenfenster tWin  übergeben. Es ist das Zeichenfenster, auf dem sich die Turtle bewegen und zeichnen kann. Dieses Zeichenfenster tWin, selbst wieder ein Objekt, wird uns, ohne unser Zutun zur Verfügung gestellt.
     
  4. zeichne()
    Diese Stelle werden wir gleich verstehen, schreiben wir zunächst an Stelle des Kommentars folgende Anweisungen:
    t1.forward(100);
    t1.right(100);

Im nächsten Schritt soll das Programm kompiliert werden, also in einen Kode übersetzt werden, den unserer Rechner "verstehen" kann. Für diesen Übersetzungsvorgang stehen uns zwei Kompiler zur Verfügung. Da ist zum einen der Kompiler von Sun, er verbirgt sich hinter dem gelben Icon und zum zweiten der Kompiler von IBM, er verbirgt sich hinter dem roten Icon. Klicken wir auf einen der Kompilersymbole, wird der Kompiler gestartet. Er übersetzt dazu den Inhalt der Datei, die im Editor angezeigt wird. Waren seit dem letzten Abspeichern der Datei noch Veränderungen an dem Quelltext vorgenommen worden. sichert der Java-Editor die Datei noch bevor der Kompiler seine Arbeit beginnt.



Abb. 2.8.1.2 Schaltsymbole für den Aufruf der Kompiler
 

Haben wir keinen Fehler gemacht erscheint im unteren Fenster des Java-Editors eine Meldung wie etwa:

...TurtleTest.java erfolgreich kompiliert.
 

Ist das Programm erfolgreich kompiliert, zumindest syntaktisch enthält es keine Fehler mehr, lässt man es 'laufen' und drückt dazu das grüne 'run'-Button:


Abb. 2.8.1.3 Schaltsymbol für den Start des Interpreters

Es zeigt sich ein Fenster, dessen zunächst leere Zeichenfläche mit jedem Klicken auf das 'Zeichne!'-Button füllt. Nach 18-fachen Klicken ergibt sich das folgende Bild.

 

Damit wissen wir auch, was genau im Punkt 4 passiert. Zwischen den geschweiften Klammern der zeichne()-Methode schreiben wir die uns bekannten Turtle-Methoden, die beim Klicken auf das 'Zeichne!'-Button ausgeführt werden sollen .

Kleine Fingerübung:

Was muss man in die zeichne()-Methode schreiben, damit ein Quadrat auf 4 Klicks, auf zwei Klicks, auf einen Klick gezeichnet wird?
 

zu 2.8.2 Editieren Kompilieren
zur Startseite www.pohlig.de  (C) MPohlig 2006