Submit
Path:
~
/
/
usr
/
lib64
/
python2.7
/
Demo
/
turtle
/
File Content:
tdemo_minimal_hanoi.py
#! /usr/bin/env python """ turtle-example-suite: tdemo_minimal_hanoi.py A minimal 'Towers of Hanoi' animation: A tower of 6 discs is transferred from the left to the right peg. An imho quite elegant and concise implementation using a tower class, which is derived from the built-in type list. Discs are turtles with shape "square", but stretched to rectangles by shapesize() --------------------------------------- To exit press STOP button --------------------------------------- """ from turtle import * class Disc(Turtle): def __init__(self, n): Turtle.__init__(self, shape="square", visible=False) self.pu() self.shapesize(1.5, n*1.5, 2) # square-->rectangle self.fillcolor(n/6., 0, 1-n/6.) self.st() class Tower(list): "Hanoi tower, a subclass of built-in type list" def __init__(self, x): "create an empty tower. x is x-position of peg" self.x = x def push(self, d): d.setx(self.x) d.sety(-150+34*len(self)) self.append(d) def pop(self): d = list.pop(self) d.sety(150) return d def hanoi(n, from_, with_, to_): if n > 0: hanoi(n-1, from_, to_, with_) to_.push(from_.pop()) hanoi(n-1, with_, from_, to_) def play(): onkey(None,"space") clear() hanoi(6, t1, t2, t3) write("press STOP button to exit", align="center", font=("Courier", 16, "bold")) def main(): global t1, t2, t3 ht(); penup(); goto(0, -225) # writer turtle t1 = Tower(-250) t2 = Tower(0) t3 = Tower(250) # make tower of 6 discs for i in range(6,0,-1): t1.push(Disc(i)) # prepare spartanic user interface ;-) write("press spacebar to start game", align="center", font=("Courier", 16, "bold")) onkey(play, "space") listen() return "EVENTLOOP" if __name__=="__main__": msg = main() print msg mainloop()
Edit
Rename
Chmod
Delete
FILE
FOLDER
Name
Size
Permission
Action
about_turtle.txt
3525 bytes
0644
about_turtledemo.txt
302 bytes
0644
demohelp.txt
2438 bytes
0644
tdemo_I_dontlike_tiltdemo.py
1073 bytes
0644
tdemo_I_dontlike_tiltdemo.pyc
1659 bytes
0644
tdemo_I_dontlike_tiltdemo.pyo
1659 bytes
0644
tdemo_bytedesign.py
4219 bytes
0644
tdemo_bytedesign.pyc
5313 bytes
0644
tdemo_bytedesign.pyo
5313 bytes
0644
tdemo_chaos.py
953 bytes
0644
tdemo_chaos.pyc
2297 bytes
0644
tdemo_chaos.pyo
2297 bytes
0644
tdemo_clock.py
3018 bytes
0644
tdemo_clock.pyc
4490 bytes
0644
tdemo_clock.pyo
4490 bytes
0644
tdemo_colormixer.py
1338 bytes
0644
tdemo_colormixer.pyc
2365 bytes
0644
tdemo_colormixer.pyo
2365 bytes
0644
tdemo_fractalcurves.py
3410 bytes
0644
tdemo_fractalcurves.pyc
3524 bytes
0644
tdemo_fractalcurves.pyo
3524 bytes
0644
tdemo_lindenmayer_indian.py
2433 bytes
0644
tdemo_lindenmayer_indian.pyc
3602 bytes
0644
tdemo_lindenmayer_indian.pyo
3602 bytes
0644
tdemo_minimal_hanoi.py
1961 bytes
0644
tdemo_minimal_hanoi.pyc
3589 bytes
0644
tdemo_minimal_hanoi.pyo
3589 bytes
0644
tdemo_nim.py
6588 bytes
0644
tdemo_nim.pyc
9383 bytes
0644
tdemo_nim.pyo
9383 bytes
0644
tdemo_paint.py
1126 bytes
0644
tdemo_paint.pyc
1737 bytes
0644
tdemo_paint.pyo
1737 bytes
0644
tdemo_peace.py
1117 bytes
0644
tdemo_peace.pyc
1443 bytes
0644
tdemo_peace.pyo
1443 bytes
0644
tdemo_penrose.py
3536 bytes
0644
tdemo_penrose.pyc
6005 bytes
0644
tdemo_penrose.pyo
6005 bytes
0644
tdemo_planet_and_moon.py
2840 bytes
0644
tdemo_planet_and_moon.pyc
4548 bytes
0644
tdemo_planet_and_moon.pyo
4548 bytes
0644
tdemo_tree.py
1411 bytes
0644
tdemo_tree.pyc
2123 bytes
0644
tdemo_tree.pyo
2123 bytes
0644
tdemo_wikipedia.py
1347 bytes
0644
tdemo_wikipedia.pyc
1955 bytes
0644
tdemo_wikipedia.pyo
1955 bytes
0644
tdemo_yinyang.py
808 bytes
0644
tdemo_yinyang.pyc
1320 bytes
0644
tdemo_yinyang.pyo
1320 bytes
0644
turtle.cfg
160 bytes
0644
turtleDemo.py
10183 bytes
0644
turtleDemo.pyc
10212 bytes
0644
turtleDemo.pyo
10212 bytes
0644
turtledemo_two_canvases.py
885 bytes
0644
turtledemo_two_canvases.pyc
1252 bytes
0644
turtledemo_two_canvases.pyo
1252 bytes
0644
N4ST4R_ID | Naxtarrr