~pythonregexp2.7/python/issue2636-01

« back to all changes in this revision

Viewing changes to Demo/turtle/tdemo_wikipedia.py

  • Committer: Jeffrey C. "The TimeHorse" Jacobs
  • Date: 2008-06-09 14:37:21 UTC
  • mfrom: (39022.1.14 Regexp-2.6)
  • Revision ID: darklord@timehorse.com-20080609143721-bj0g1mwta28038da
Merged in changes from the core Regexp branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
"""      turtle-example-suite:
 
2
 
 
3
          tdemo_wikipedia3.py
 
4
 
 
5
This example is
 
6
inspired by the Wikipedia article on turtle
 
7
graphics. (See example wikipedia1 for URLs)
 
8
 
 
9
First we create (ne-1) (i.e. 35 in this
 
10
example) copies of our first turtle p.
 
11
Then we let them perform their steps in
 
12
parallel.
 
13
 
 
14
Followed by a complete undo().
 
15
"""
 
16
from turtle import Screen, Turtle, mainloop
 
17
from time import clock, sleep
 
18
 
 
19
def mn_eck(p, ne,sz):
 
20
    turtlelist = [p]
 
21
    #create ne-1 additional turtles
 
22
    for i in range(1,ne):
 
23
        q = p.clone()
 
24
        q.rt(360.0/ne)
 
25
        turtlelist.append(q)
 
26
        p = q
 
27
    for i in range(ne):
 
28
        c = abs(ne/2.0-i)/(ne*.7)
 
29
        # let those ne turtles make a step
 
30
        # in parallel:
 
31
        for t in turtlelist:
 
32
            t.rt(360./ne)
 
33
            t.pencolor(1-c,0,c)
 
34
            t.fd(sz)
 
35
 
 
36
def main():
 
37
    s = Screen()
 
38
    s.bgcolor("black")
 
39
    p=Turtle()
 
40
    p.speed(0)
 
41
    p.hideturtle()
 
42
    p.pencolor("red")
 
43
    p.pensize(3)
 
44
 
 
45
    s.tracer(36,0)
 
46
 
 
47
    at = clock()
 
48
    mn_eck(p, 36, 19)
 
49
    et = clock()
 
50
    z1 = et-at
 
51
 
 
52
    sleep(1)
 
53
 
 
54
    at = clock()
 
55
    while any([t.undobufferentries() for t in s.turtles()]):
 
56
        for t in s.turtles():
 
57
            t.undo()
 
58
    et = clock()
 
59
    return "Laufzeit: %.3f sec" % (z1+et-at)
 
60
 
 
61
 
 
62
if __name__ == '__main__':
 
63
    msg = main()
 
64
    print msg
 
65
    mainloop()