Mit Hilfe der Turtlegrafik soll rekursiv eine Quadratschnecke gezeichnet werden. Das Applet hat dabei folgenden Aufbau:
import java.applet.*; // Applet-Bibliothek
import java.awt.*; // Abstract Window Toolkit
public class Rekursion2 extends Applet {
public void paint(Graphics g) { // Zeichenmethode
// hier stehen die Zeichenbefehle
}
}
Da für die Turtle der Graphic-Context g benötigt wird, muss die Kröte in paint erzeugt und dann bewegt werden.
public void paint(Graphics g)
{
Turtle tom = new Turtle(g,100,100,0);
// Aufruf der rekursiven Funktion
figur1(tom,100,10);
}
Die Funktion "figur1" erhält die Turtle zum Zeichnen, eine Anfangslänge x sowie die Anzahl n der Wiederholungen. Zunächst bewegt die Funktion die Turtle um x Schritte in die aktuelle Blickrichtung. Dann dreht sie die Turtle um 90°, bevor sie sich selbst aufruft mit x+10 und n-1.
public void figur1(Turtle t, int x, int n)
{
if (n==0) return; // Abbruchbedingung
t.gehe(x);
t.drehe(90);
figur1(t, x+10, n-1);
}
Wenn alles funktioniert müsste etwa folgende Grafik erstellt werden:

Aufgaben:
Ergänze das Applet um zwei weitere Figuren, die nacheinander gezeichnet werden:
