Scheme Turtle 4

Aus ProgrammingWiki
Archivierte Version vom 2010-01-03T09:50:00+00:00. Aktuelle Version

Nichtbinär-Baum

Natürlich kann man den Baum, den eine (oder mehrere geklonte) Turtle(s) zeichnen soll(en), auch ganz anders definieren. Die folgende Prozedur zeigt ein Beispiel für eine alternative Verzweigungsvariante. Am rekursiven Charakter der Beschreibung des Zeichenobjekts kann man trotzdem unverändert festhalten.


<eval id="4b406847e6b07"> (clear canvas) (move turtle 200 190)</eval>

(define tree

(lambda(side winkel) 
 (cond [(< side 20) #t] 
       [else  
         (penwidth turtle (+ (/ side 10) 1 ))    
         (forward turtle side)  
         (left turtle winkel)  
         (tree (/ side 2) winkel)  
         (left turtle winkel)  
         (tree (/ side 2) winkel)  
         (right turtle (* 4 winkel))  
         (tree (/ side 2) winkel)  
         (left turtle winkel)  
         (tree (/ side 2) winkel)  
         (left turtle winkel)  
         (backward turtle side)])))

(tree 100 25)

Ihr Browser unterstützt Canvas nicht.

Scheme Turtle 5