ó V Qc@sIddlTd„Zddd„ƒYZd„ZedkrEeƒndS( iÿÿÿÿ(t*cCsX|dkrdSt|d||||ƒ||||ƒt|d||||ƒdS(Nii(thanoi(tntatbtctreport((s0/usr/lib64/python2.7/Demo/tkinter/guido/hanoi.pyRs  tTkhanoicBs&eZdd„Zd„Zd„ZRS(cCsâ||_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(Ntwidththeightitbitmapt foregroundtbluei iitfilltblackiiiÿÿÿÿtredi(RtTkttktCanvastcanvastpacktgetintt create_bitmapR tpegstcreate_rectangletappendtupdatetpegstatetpiecestmaxtrangetafter(tselfRR RRRR tpegwidtht pegheighttpegdisttx1ty1tx2ty2tpt pieceheightt maxpiecewidtht minpiecewidthtdxti((s0/usr/lib64/python2.7/Demo/tkinter/guido/hanoi.pyt__init__sP  '         cCs²x«t|jddd|jƒt|jddd|jƒt|jddd|jƒt|jddd|jƒt|jddd|jƒt|jddd|jƒqdS(Niii(RRR(R ((s0/usr/lib64/python2.7/Demo/tkinter/guido/hanoi.pytrunNscCsú|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(Niÿÿÿÿiii( Rt RuntimeErrorRRtbboxRtmoveRRtlenR(R R-RRR(Rtax1tay1tax2tay2R$R%R&R'tbx1tby1tbx2tby2t newcentertcenterR)t newbottom((s0/usr/lib64/python2.7/Demo/tkinter/guido/hanoi.pyRXs@   " "    N(t__name__t __module__tNoneR.R/R(((s0/usr/lib64/python2.7/Demo/tkinter/guido/hanoi.pyRs 1 cCs«ddl}ddl}|jdr>|j|jdƒ}nd}|jdrˆ|jd}|ddkr{|d}qŽd|}nd}t||ƒ}|jƒdS(Niÿÿÿÿiiiit@(tsyststringtargvtatoiRARR/(RCRDRR th((s0/usr/lib64/python2.7/Demo/tkinter/guido/hanoi.pytmains     t__main__N((tTkinterRRRHR?(((s0/usr/lib64/python2.7/Demo/tkinter/guido/hanoi.pyt s  e