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]]