Your IP : 216.73.216.213


Current Path : /opt/alt/python33/lib64/python3.3/Tools/demo/__pycache__/
Upload File :
Current File : //opt/alt/python33/lib64/python3.3/Tools/demo/__pycache__/hanoi.cpython-33.pyc

�
��fc@sadZddlmZmZdd�ZGdd�d�Zdd�Zed	kr]e�nd
S(uV
Animated Towers of Hanoi using Tk with optional bitmap file in background.

Usage: hanoi.py [n [bitmapfile]]

n is the number of pieces to animate; default is 4, maximum 15.

The bitmap file can be any X11 bitmap file (look in /usr/include/X11/bitmaps for
samples); it is displayed as the background of the animation.  Default is no
bitmap.
i(uTkuCanvascCsX|dkrdSt|d||||�||||�t|d||||�dS(Nii(uhanoi(unuaubucureport((u5/opt/alt/python33/lib64/python3.3/Tools/demo/hanoi.pyuhanois
uhanoicBs;|EeZdZddd�Zdd�Zdd�ZdS(uTkhanoicCs�||_t�|_}t|�|_}|j�|j|d�|j|d�}}|r�|j|d|dd|dd�|_nd}|d}|d}	|	|d|d	d}
}|
|||}}
g|_	|j
|
|||
d
d�}|j	j|�|
|	||	}
}|j
|
|||
d
d�}|j	j|�|
|	||	}
}|j
|
|||
d
d�}|j	j|�|jj�|d}|	dd}d|}gggg|_
i|_|	|d|
|d}
}|
|||}}
||dtd	|d	�}x�t|d
d�D]�}|j
|
|||
d
d�}||j|<|j
d
j|�|
|||}
}||d|
|d}}
|jj�|jjd�qFWdS(Nuwidthuheightiubitmapu
foregroundubluei
iiufillublackiiuredii����(unuTkutkuCanvasucanvasupackugetintu
create_bitmapubitmapupegsucreate_rectangleuappenduupdateupegstateupiecesumaxurangeuafter(uselfunubitmaputkucuwidthuheightupegwidthu	pegheightupegdistux1uy1ux2uy2upupieceheightu
maxpiecewidthu
minpiecewidthudxui((u5/opt/alt/python33/lib64/python3.3/Tools/demo/hanoi.pyu__init__sP	
'

	


	

uTkhanoi.__init__cCs�x�t|jddd|j�t|jddd|j�t|jddd|j�t|jddd|j�t|jddd|j�t|jddd|j�qdS(Niii(uhanoiunureport(uself((u5/opt/alt/python33/lib64/python3.3/Tools/demo/hanoi.pyurunOsuTkhanoi.runcCs�|j|d|kr t�n|j|d=|j|}|j}|j|j|�\}}}}	xN|j|�\}
}}}
|
|kr�Pn|j|dd�|jj�qi|j|j|�\}}}}||d}x~|j|�\}
}}}
|
|d}||kr#Pn||krE|j|dd�n|j|dd�|jj�q�|
|}||t	|j|�d}xN|j|�\}
}}}
|
|kr�Pn|j|dd�|jj�q�|j|j
|�dS(Niiii����i����i����i����(upegstateuRuntimeErrorupiecesucanvasubboxupegsumoveutkuupdateulenuappend(uselfuiuaubupucuax1uay1uax2uay2ux1uy1ux2uy2ubx1uby1ubx2uby2u	newcenterucenterupieceheightu	newbottom((u5/opt/alt/python33/lib64/python3.3/Tools/demo/hanoi.pyureportYs@	
	""
uTkhanoi.reportN(u__name__u
__module__u__qualname__uNoneu__init__urunureport(u
__locals__((u5/opt/alt/python33/lib64/python3.3/Tools/demo/hanoi.pyuTkhanois1
uTkhanoicCs�ddl}|jdd�r5t|jd�}nd}|jdd�r�|jd}|ddkr~|dd�}q�d|}nd}t||�}|j�dS(Niiiiu@(usysuargvuintuNoneuTkhanoiurun(usysunubitmapuh((u5/opt/alt/python33/lib64/python3.3/Tools/demo/hanoi.pyumains

umainu__main__N(u__doc__utkinteruTkuCanvasuhanoiuTkhanoiumainu__name__(((u5/opt/alt/python33/lib64/python3.3/Tools/demo/hanoi.pyu<module>
sd