Ë
    #´˜j  ã                   óˆ   — d Z ddl­  G d„ de«      Z G d„ de«      Zd„ Zd„ Zd	„ Ze	d
k(  r e«       Z
 ee
«        e«        yy)aã         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
 ---------------------------------------
é    )Ú*c                   ó   — e Zd Zd„ Zy)ÚDiscc                 óØ   — t         j                  | dd¬«       | j                  «        | j                  d|dz  d«       | j	                  |dz  dd|dz  z
  «       | j                  «        y )	NÚsquareF)ÚshapeÚvisibleg      ø?é   g      @r   é   )ÚTurtleÚ__init__ÚpuÚ	shapesizeÚ	fillcolorÚst)ÚselfÚns     ú*lib/python3.12/turtledemo/minimal_hanoi.pyr   zDisc.__init__   sV   € Ü�‰˜ H°eˆÔ<Ø�‰Œ	Ø�‰�s˜A˜c™E 1Ô%Ø�‰�q˜‘t˜Q  ! B¡$¡Ô'Ø�‰�	ó    N)Ú__name__Ú
__module__Ú__qualname__r   © r   r   r   r      s   „ ór   r   c                   ó"   — e Zd ZdZd„ Zd„ Zd„ Zy)ÚTowerz-Hanoi tower, a subclass of built-in type listc                 ó   — || _         y)z-create an empty tower. x is x-position of pegN)Úx)r   r   s     r   r   zTower.__init__    s	   € àˆ�r   c                 óœ   — |j                  | j                  «       |j                  ddt        | «      z  z   «       | j	                  |«       y )Nijÿÿÿé"   )Úsetxr   ÚsetyÚlenÚappend©r   Úds     r   Úpushz
Tower.push#   s5   € Ø	�‰ˆt�v‰vŒØ	�‰ˆt�B”s˜4“y‘LÑ Ô!Ø�‰�A�r   c                 óR   — t         j                  | «      }|j                  d«       |S )Né–   )ÚlistÚpopr!   r$   s     r   r*   z	Tower.pop'   s   € Ü�H‰H�T‹NˆØ	�‰ˆsŒØˆr   N)r   r   r   Ú__doc__r   r&   r*   r   r   r   r   r      s   „ Ù3òòór   r   c                 ó’   — | dkD  rBt        | dz
  |||«       |j                  |j                  «       «       t        | dz
  |||«       y y )Nr   r   )Úhanoir&   r*   )r   Úfrom_Úwith_Úto_s       r   r-   r-   ,   sD   € Øˆ1‚uÜˆa�‰c�5˜#˜uÔ%Ø�‰�—‘“ÔÜˆa�‰c�5˜% Õ%ð r   c                  ó    — t        d d«       t        «        	 t        dt        t        t
        «       t        ddd¬«       y # t        $ r Y y w xY w)NÚspaceé   zpress STOP button to exitÚcenter©ÚCourieré   Úbold©ÚalignÚfont)ÚonkeyÚclearr-   Út1Út2Út3ÚwriteÚ
Terminatorr   r   r   ÚplayrC   2   sG   € Ü	ˆ$ˆwÔÜ	„GðÜˆa””RœÔÜÐ)ØÐ#:ö	<øäò Ùðús   ˜(A Á	AÁAc                  ó6  — t        «        t        «        t        dd«       t        d«      at        d«      at        d«      at        ddd«      D ]   } t        j                  t        | «      «       Œ" t        ddd	¬
«       t        t        d«       t        «        y)Nr   iÿÿÿiÿÿÿéú   r3   éÿÿÿÿzpress spacebar to start gamer4   r5   r9   r2   Ú	EVENTLOOP)ÚhtÚpenupÚgotor   r>   r?   r@   Úranger&   r   rA   r<   rC   Úlisten)Úis    r   ÚmainrN   <   su   € ä„DŒ%Œ'”4˜˜4”=Ü	ˆt‹€BÜ	ˆq‹€BÜ	ˆs‹€Bä�1�Q�rŽ]ˆÜ
�‰”�Q“Õð ô 
Ð
(ØÐ6õ8ä	Œ$�ÔÜ
„HØr   Ú__main__N)r+   Úturtler   r   r)   r   r-   rC   rN   r   ÚmsgÚprintÚmainloopr   r   r   Ú<module>rT      sX   ðñô$ ôˆ6ô ôˆDô ò&òòð  ˆZÒÙ
‹&€CÙ	ˆ#„JÙ…Jð r   