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    }