Scheme Turtle 3
Aus ProgrammingWiki
Archivierte Version vom 2008-12-13T17:54:25+00:00. Aktuelle Version
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)</eval>
(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)