diff options
Diffstat (limited to 'Demo/turtle/tdemo_tree.py')
-rw-r--r-- | Demo/turtle/tdemo_tree.py | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/Demo/turtle/tdemo_tree.py b/Demo/turtle/tdemo_tree.py deleted file mode 100644 index 9c0b1f7..0000000 --- a/Demo/turtle/tdemo_tree.py +++ /dev/null @@ -1,63 +0,0 @@ -#!/usr/bin/env python3 -""" turtle-example-suite: - - tdemo_tree.py - -Displays a 'breadth-first-tree' - in contrast -to the classical Logo tree drawing programs, -which use a depth-first-algorithm. - -Uses: -(1) a tree-generator, where the drawing is -quasi the side-effect, whereas the generator -always yields None. -(2) Turtle-cloning: At each branching point the -current pen is cloned. So in the end there -are 1024 turtles. -""" -from turtle import Turtle, mainloop -from time import clock - -def tree(plist, l, a, f): - """ plist is list of pens - l is length of branch - a is half of the angle between 2 branches - f is factor by which branch is shortened - from level to level.""" - if l > 3: - lst = [] - for p in plist: - p.forward(l) - q = p.clone() - p.left(a) - q.right(a) - lst.append(p) - lst.append(q) - for x in tree(lst, l*f, a, f): - yield None - -def maketree(): - p = Turtle() - p.setundobuffer(None) - p.hideturtle() - p.speed(0) - p.getscreen().tracer(30,0) - p.left(90) - p.penup() - p.forward(-210) - p.pendown() - t = tree([p], 200, 65, 0.6375) - for x in t: - pass - print(len(p.getscreen().turtles())) - -def main(): - a=clock() - maketree() - b=clock() - return "done: %.2f sec." % (b-a) - -if __name__ == "__main__": - msg = main() - print(msg) - mainloop() |