Scheme Turtle 3

Aus ProgrammingWiki

Wiki-Quelltext dieser Seite.

<language>Scheme</language>
===Klassischer Binärbaum mit geklonten Turtles===

In diesem Beispiel entsteht der gleiche Baum wie im vorhergehenden. Allerdings wird die jeweils aktive Turtle an jeder Verzweigungsstelle geklont. Dies unterstützt die Idee nebenläufiger Baumkonstruktion durch zeitlich parallel arbeitender Turtles.

<eval>
(clear canvas)
(move turtle 200 190)

(define tree
 (lambda(side turtle) 
  (cond 
    ((< side 20) #t)
    (else  
      (penwidth turtle (+ (/ side 10) 1 ))    
      (forward turtle side)  
      (left turtle 45)  
      (tree (/ side 2) (clone turtle))  
      (right turtle 90)  
      (tree (/ side 2) (clone turtle))  
      (left turtle 45)  
      (backward turtle side)))))

(tree 100 turtle)
</eval>
<canvas></canvas>

[[Scheme Turtle 4]]