001 package de.hska.java.aufgaben.schildkroete;
002
003 import de.hska.java.aufgaben.grafik.schildkroete.Schildkroete;
004 import de.hska.java.aufgaben.grafik.schildkroete.SchildkroetenGrafik;
005
006
007 /**
008 * Zeichnet die Drachenkurve auf den Bildschirm.
009 *
010 * <a href="http://www.home.hs-karlsruhe.de/%7Epach0003/informatik_1/aufgaben/turtle.html#drache">Zurück zum Aufgabentext</a>
011 *
012 * @author Christian Pape
013 */
014 public class ZeichneDrachenkurve {
015
016 public static void main(String[] args) {
017 SchildkroetenGrafik schildkroetenGrafik = new SchildkroetenGrafik("Drachenkurve", 800, 600);
018 Schildkroete schildkroete = schildkroetenGrafik.createSchildkroete();
019 schildkroete.positionieren(200, 200);
020
021 drachenkurveZeichnen(schildkroete, 17, -1);
022
023 schildkroetenGrafik.warten();
024 }
025
026 private static void drachenkurveZeichnen(Schildkroete schildkroete, int dimension, int drehrichtung) {
027 if (dimension == 0) {
028 schildkroete.laufen(1);
029 } else {
030 drachenkurveZeichnen(schildkroete, dimension - 1, 1);
031 schildkroete.drehen(drehrichtung * 90);
032 drachenkurveZeichnen(schildkroete, dimension - 1, -1);
033 }
034 }
035
036
037 }