???<!-- GIF89;a -->
123123123123
.....................................................................................................................................???<!-- GIF89;a -->
123123123123
.....................................................................................................................................ó
Afc           @   s   d  Z  d d l Td e f d „  ƒ  YZ d e f d „  ƒ  YZ d „  Z d „  Z d	 „  Z e	 d
 k r{ e ƒ  Z
 e
 GHe ƒ  n  d 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   *t   Discc           B   s   e  Z d  „  Z RS(   c         C   sg   t  j |  d d d t ƒ|  j ƒ  |  j d | d d ƒ |  j | d d d | d ƒ |  j ƒ  d  S(	   Nt   shapet   squaret   visibleg      ø?i   g      @i    i   (   t   Turtlet   __init__t   Falset   put	   shapesizet	   fillcolort   st(   t   selft   n(    (    s7   /usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyR      s
    
(   t   __name__t
   __module__R   (    (    (    s7   /usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyR      s   t   Towerc           B   s)   e  Z d  Z d „  Z d „  Z d „  Z RS(   s-   Hanoi tower, a subclass of built-in type listc         C   s   | |  _  d S(   s-   create an empty tower. x is x-position of pegN(   t   x(   R   R   (    (    s7   /usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyR       s    c         C   s<   | j  |  j ƒ | j d d t |  ƒ ƒ |  j | ƒ d  S(   Nijÿÿÿi"   (   t   setxR   t   setyt   lent   append(   R   t   d(    (    s7   /usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyt   push#   s    c         C   s    t  j |  ƒ } | j d ƒ | S(   Ni–   (   t   listt   popR   (   R   R   (    (    s7   /usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyR   '   s    (   R   R   t   __doc__R   R   R   (    (    (    s7   /usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyR      s   		c         C   sT   |  d k rP t  |  d | | | ƒ | j | j ƒ  ƒ t  |  d | | | ƒ n  d  S(   Ni    i   (   t   hanoiR   R   (   R   t   from_t   with_t   to_(    (    s7   /usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyR   ,   s    c           C   sY   t  d  d ƒ t ƒ  y- t d t t t ƒ t d d d d d
 ƒWn t k
 rT n Xd  S(   Nt   spacei   s   press STOP button to exitt   alignt   centert   fontt   Courieri   t   bold(   R#   i   R$   (	   t   onkeyt   Nonet   clearR   t   t1t   t2t   t3t   writet
   Terminator(    (    (    s7   /usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyt   play2   s    	c          C   s   t  ƒ  t ƒ  t d d ƒ t d ƒ a t d ƒ a t d ƒ a x- t d d d ƒ D] }  t j t	 |  ƒ ƒ qR Wt
 d d d	 d
 d ƒt t d ƒ t ƒ  d S(   Ni    iÿÿÿiÿÿÿiú   i   iÿÿÿÿs   press spacebar to start gameR    R!   R"   R#   i   R$   R   t	   EVENTLOOP(   R#   i   R$   (   t   htt   penupt   gotoR   R(   R)   R*   t   rangeR   R   R+   R%   R-   t   listen(   t   i(    (    s7   /usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyt   main<   s      	t   __main__N(   R   t   turtleR   R   R   R   R   R-   R5   R   t   msgt   mainloop(    (    (    s7   /usr/lib64/python2.7/Demo/turtle/tdemo_minimal_hanoi.pyt   <module>   s   
		
		