]7ec@sdZddlTdefdYZdefdYZdZdZd Ze d kr{eZ e GHe nd S( s 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 --------------------------------------- i(t*tDisccBseZdZRS(cCsgtj|dddt|j|jd|dd|j|ddd|d|jdS( Ntshapetsquaretvisibleg?ig@ii(tTurtlet__init__tFalsetput shapesizet fillcolortst(tselftn((s7/usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyRs  (t__name__t __module__R(((s7/usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyRstTowercBs)eZdZdZdZdZRS(s-Hanoi tower, a subclass of built-in type listcCs ||_dS(s-create an empty tower. x is x-position of pegN(tx(R R((s7/usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyR scCs<|j|j|jddt||j|dS(Niji"(tsetxRtsetytlentappend(R td((s7/usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pytpush#scCs tj|}|jd|S(Ni(tlisttpopR(R R((s7/usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyR's (RRt__doc__RRR(((s7/usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyRs  cCsT|dkrPt|d||||j|jt|d|||ndS(Nii(thanoiRR(R tfrom_twith_tto_((s7/usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyR,s cCsYtddty-tdttttddddd Wntk rTnXdS( Ntspaceispress STOP button to exittaligntcentertfonttCourieritbold(R#iR$( tonkeytNonetclearRtt1tt2tt3twritet Terminator(((s7/usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pytplay2s   cCstttddtdatdatdax-tdddD]}tjt |qRWt ddd d dt t dt dS(Niiiiiispress spacebar to start gameR R!R"R#iR$Rt EVENTLOOP(R#iR$(thttpenuptgotoRR(R)R*trangeRRR+R%R-tlisten(ti((s7/usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pytmain<s       t__main__N( RtturtleRRRRRR-R5Rtmsgtmainloop(((s7/usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyts