summaryrefslogtreecommitdiffstats
path: root/Demo/turtle/tdemo_tree.py
diff options
context:
space:
mode:
Diffstat (limited to 'Demo/turtle/tdemo_tree.py')
-rw-r--r--Demo/turtle/tdemo_tree.py63
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()