Removed the Requirement to Install Python and NodeJS (Now Bundled with Borealis)
This commit is contained in:
65
Dependencies/Python/Lib/turtledemo/rosette.py
vendored
Normal file
65
Dependencies/Python/Lib/turtledemo/rosette.py
vendored
Normal file
@ -0,0 +1,65 @@
|
||||
""" turtle-example-suite:
|
||||
|
||||
tdemo_wikipedia3.py
|
||||
|
||||
This example is
|
||||
inspired by the Wikipedia article on turtle
|
||||
graphics. (See example wikipedia1 for URLs)
|
||||
|
||||
First we create (ne-1) (i.e. 35 in this
|
||||
example) copies of our first turtle p.
|
||||
Then we let them perform their steps in
|
||||
parallel.
|
||||
|
||||
Followed by a complete undo().
|
||||
"""
|
||||
from turtle import Screen, Turtle, mainloop
|
||||
from time import perf_counter as clock, sleep
|
||||
|
||||
def mn_eck(p, ne,sz):
|
||||
turtlelist = [p]
|
||||
#create ne-1 additional turtles
|
||||
for i in range(1,ne):
|
||||
q = p.clone()
|
||||
q.rt(360.0/ne)
|
||||
turtlelist.append(q)
|
||||
p = q
|
||||
for i in range(ne):
|
||||
c = abs(ne/2.0-i)/(ne*.7)
|
||||
# let those ne turtles make a step
|
||||
# in parallel:
|
||||
for t in turtlelist:
|
||||
t.rt(360./ne)
|
||||
t.pencolor(1-c,0,c)
|
||||
t.fd(sz)
|
||||
|
||||
def main():
|
||||
s = Screen()
|
||||
s.bgcolor("black")
|
||||
p=Turtle()
|
||||
p.speed(0)
|
||||
p.hideturtle()
|
||||
p.pencolor("red")
|
||||
p.pensize(3)
|
||||
|
||||
s.tracer(36,0)
|
||||
|
||||
at = clock()
|
||||
mn_eck(p, 36, 19)
|
||||
et = clock()
|
||||
z1 = et-at
|
||||
|
||||
sleep(1)
|
||||
|
||||
at = clock()
|
||||
while any(t.undobufferentries() for t in s.turtles()):
|
||||
for t in s.turtles():
|
||||
t.undo()
|
||||
et = clock()
|
||||
return "runtime: %.3f sec" % (z1+et-at)
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
msg = main()
|
||||
print(msg)
|
||||
mainloop()
|
Reference in New Issue
Block a user