Impressum | Kontakt
 Startseite | Kurse Projekte | Haskell | Fortbildungen | Linux | Suche

Zeichnen einer Quadratschnecke

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:

  1. Nach jedem gezeichneten Strich soll der Drehwinkel um 5° zunehmen.
  2. Bei jedem Aufruf soll ein Quadrat mit der Seitenlänge x gezeichnet werden. Die Seitenlängen werden dabei jedesmal um 5 Pixel länger.