U e5dã@sddZddlTGdd„deƒZGdd„deƒZdd„Zd d „Zd d „Ze d kr`eƒZ e e ƒe ƒdS)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@seZdZdd„ZdS)ÚDisccCsPtj|ddd�| ¡| d|dd¡| |ddd|d¡| ¡dS) NZsquareF)ÚshapeZvisiblegø?ég@ré)ÚTurtleÚ__init__ZpuZ shapesizeZ fillcolorÚst)ÚselfÚn©r ú0/usr/lib64/python3.8/turtledemo/minimal_hanoi.pyrs z Disc.__init__N)Ú__name__Ú __module__Ú __qualname__rr r r r rsrc@s(eZdZdZdd„Zdd„Zdd„ZdS) ÚTowerz-Hanoi tower, a subclass of built-in type listcCs ||_dS)z-create an empty tower. x is x-position of pegN)Úx)r rr r r r szTower.__init__cCs0| |j¡| ddt|ƒ¡| |¡dS)Nijÿÿÿé")ZsetxrÚsetyÚlenÚappend©r Údr r r Úpush#s z Tower.pushcCst |¡}| d¡|S)Né–)ÚlistÚpoprrr r r r's  z Tower.popN)rrrÚ__doc__rrrr r r r rsrcCs>|dkr:t|d|||ƒ| | ¡¡t|d|||ƒdS)Nrr)Úhanoirr)r Zfrom_Zwith_Zto_r r r r,srcCsJtddƒtƒz tdtttƒtdddd�Wntk rDYnXdS)NÚspaceézpress STOP button to exitÚcenter©ZCourieréZbold©ZalignZfont)ÚonkeyÚclearrÚt1Út2Út3ÚwriteZ Terminatorr r r r Úplay2s ÿ r+cCsptƒtƒtddƒtdƒatdƒatdƒatdddƒD]}t t |ƒ¡q:t ddd d �t t d ƒt ƒd S) Nriÿÿÿiÿÿÿéúr éÿÿÿÿzpress spacebar to start gamer!r"r$rZ EVENTLOOP)ZhtZpenupZgotorr'r(r)Úrangerrr*r%r+Zlisten)Úir r r Úmain<s ÿ r0Ú__main__N) rZturtlerrrrrr+r0rÚmsgÚprintZmainloopr r r r Ús