mò
­fIc           @   sm  d  k  Td k Z d e f d „  ƒ  YZ d f  d „  ƒ  YZ e a e a e a d e f d „  ƒ  YZ	 d „  Z
 d	 „  Z d
 „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d „ Z d „  Z e d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z  d  „  Z! d! „  Z" d" „  Z# e$ d# j o e# ƒ  n d S($   (   t   *Nt   Errorc           B   s   t  Z RS(   N(   t   __name__t
   __module__(    (    (    t*   /mit/python/lib/python2.4/lib-tk/turtle.pyR      s   t   RawPenc           B   s  t  Z d „  Z d d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d	 „  Z	 d
 „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d „ Z d „  Z d  d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z g  d „ Z d „  Z RS(    Nc         C   s<   | |  _ g  |  _ d |  _ d |  _ |  i ƒ  |  i ƒ  d  S(   Ni   i    (   t   canvast   selft   _canvast   _itemst   _tracingt   _arrowt   degreest   reset(   R   R   (    (    R   t   __init__   s    				
f360.0c         C   s   | |  _ t | d |  _ d  S(   Nf0.5(   t
   fullcircleR   t   _fullcirclet   pit
   _invradian(   R   R   (    (    R   R      s    	c         C   s   |  i d t ƒ d  S(   Nf2.0(   R   R   R   (   R   (    (    R   t   radians   s    c         C   sð   |  i } |  i i ƒ  | i ƒ  } | i ƒ  } | d j o | d } n | d j o | d } n t | ƒ d t | ƒ d f |  _	 |  i	 |  _
 d |  _ d |  _ d |  _ d |  _ d |  _ g  |  _ g  |  _ |  i ƒ  | i ƒ  i ƒ  d  S(   Ni   t   widtht   heightf2.0f0.0t   blacki    (   R   R   R   t   updatet   winfo_widthR   t   winfo_heightR   t   floatt   _origint	   _positiont   _anglet   _drawingt   _widtht   _colort   _fillingt   _patht   _tofillt   cleart   _roott   tkraise(   R   R   R   R   (    (    R   R      s&    	#							
c         C   s^   |  i d ƒ |  i } |  i } g  |  _ x | D] } | i | ƒ q/ W|  i ƒ  |  i	 ƒ  d  S(   Ni    (
   R   t   fillR   R   R	   t   itemst   itemt   deletet   _delete_turtlet   _draw_turtle(   R   R(   R   R)   (    (    R   R$   /   s    			 
c         C   s/   | |  _ |  i p |  i ƒ  n |  i ƒ  d  S(   N(   t   flagR   R
   R+   R,   (   R   R-   (    (    R   t   tracer9   s    	
c         C   sc   |  i \ } } } | | t |  i |  i ƒ } | | t
 |  i |  i ƒ } |  i | | ƒ d  S(   N(   R   R   t   x0t   y0t   startt   distancet   cosR   R   t   x1t   sint   y1t   _goto(   R   R2   R1   R6   R0   R/   R4   (    (    R   t   forward?   s    c         C   s   |  i | ƒ d  S(   N(   R   R8   R2   (   R   R2   (    (    R   t   backwardE   s    c         C   s%   |  i | |  i |  _ |  i ƒ  d  S(   N(   R   R   t   angleR   R,   (   R   R:   (    (    R   t   leftH   s    c         C   s   |  i | ƒ d  S(   N(   R   R;   R:   (   R   R:   (    (    R   t   rightL   s    c         C   s   d |  _ d  S(   Ni    (   R   R   (   R   (    (    R   t   upO   s    c         C   s   d |  _ d  S(   Ni   (   R   R   (   R   (    (    R   t   downR   s    c         C   s   t  | ƒ |  _ d  S(   N(   R   R   R   R   (   R   R   (    (    R   R   U   s    c   	      G   s_  | p t d ‚ n t | ƒ d j o· | d } t | ƒ t d ƒ j oc y% |  i i d d d d d | ƒ} Wn& t	 i
 j
 o t d | f ‚ n X|  i | ƒ d  Sn y | \ } } } Wqt d | f ‚ qXn. y | \ } } } Wn t d | f ‚ n Xd	 } d
 } |  i d t | | | ƒ t | | | ƒ t | | | ƒ f ƒ d  S(   Ns   no color argumentsi   i    t    R'   s   bad color string: %rs   bad color sequence: %rs   bad color arguments: %rf255.0f0.5s   #%02x%02x%02x(   t   argsR   t   lent   colort   typeR   R   t   create_linet   idt   Tkintert   TclErrort
   _set_colort   rt   gt   bt   xt   yt   int(	   R   R@   RK   RJ   RB   RI   RM   RL   RE   (    (    R   RB   X   s2    
%   c         C   s   | |  _ |  i ƒ  d  S(   N(   RB   R   R    R,   (   R   RB   (    (    R   RH   u   s    	i    c      	   C   s¤   |  i \ } } } | d } |  i i | | d t | ƒ d d d |  i	 ƒ} |  i i | ƒ | o2 |  i i | ƒ \ }	 } }
 } |  i |
 | ƒ n |  i ƒ  d  S(   Ni   t   textt   anchort   swR'   (   R   R   RL   RM   R1   R   t   create_textt   strt   argR    R)   R	   t   appendt   movet   bboxR/   R0   R4   R6   R7   R,   (   R   RT   RV   R0   R6   R)   R1   RM   RL   R/   R4   (    (    R   t   writey   s    
c         C   s%  |  i oÑ t |  i ƒ } |  i d j  } t | ƒ d j oœ |  i i d | h  d |  i	 <d | <ƒ } |  i i | ƒ |  i i | ƒ |  i oA x> |  i D]/ } |  i i | d |  i	 ƒ|  i i | ƒ qœ Wq× qÛ n g  |  _ g  |  _ | |  _ | o |  i i |  i ƒ n |  i d ƒ d  S(   Ni    i   t   polygonR'   t   smooth(   R   R!   t   tupleR"   t   pathRZ   RA   R   t   _createR    R)   R	   RU   t   lowerR#   t   itemconfigureR-   R   R8   (   R   R-   RZ   R)   R\   (    (    R   R'   …   s&    


  			c         C   sÚ  | d  j o |  i } n |  i \ }
 }	 |
 | t |  i	 |  i
 ƒ } |	 | t |  i	 |  i
 ƒ } | d j o |  i	 d } n |  i	 d } | } |  i oÄ t | ƒ |  i j oN |  i i | | | | | | | | d |  i d d ƒ} |  i i | ƒ n |  i i | | | | | | | | d d d | d	 | d |  i d d ƒ} |  i i | ƒ n |  i oÊ t | ƒ |  i j oQ |  i i | | | | | | | | d |  i d |  i ƒ} |  i i | ƒ n |  i i | | | | | | | | d d
 d | d	 | d |  i d |  i ƒ} |  i i | ƒ n | | } | t | ƒ t | |  i
 ƒ } | t | ƒ t | |  i
 ƒ } |  i	 | |  i |  _	 | | f |  _ |  i o |  i i |  i ƒ n |  i ƒ  d  S(   Nf0.0f90.0R   t   outlineR?   t   stylet   chordR1   t   extentt   arc(    Rc   t   NoneR   R   R   R/   R0   t   radiusR5   R   R   t   xcR3   t   ycR1   R!   t   absR   t   create_ovalR   R)   R#   RU   t
   create_arcR   R    R	   R:   R4   R6   R"   R,   (   R   Rf   Rc   R4   Rh   R)   Rg   R1   R6   R0   R/   R:   (    (    R   t   circleš   s^    
		
		
!!
c         C   s   |  i S(   N(   R   R   (   R   (    (    R   t   headingÌ   s    c         C   s   | |  _ |  i ƒ  d  S(   N(   R:   R   R   R,   (   R   R:   (    (    R   t
   setheadingÏ   s    	c         C   s1   |  i i ƒ  } | d j o |  i d } n | S(   Ni   R   (   R   R   R   R   (   R   R   (    (    R   t   window_widthÓ   s    c         C   s1   |  i i ƒ  } | d j o |  i d } n | S(   Ni   R   (   R   R   R   R   (   R   R   (    (    R   t   window_heightÙ   s    c         C   s1   |  i \ } } |  i \ } } | | | | g S(   N(   R   R   R/   R0   R   R4   R6   (   R   R6   R0   R4   R/   (    (    R   t   positionß   s    c         C   s6   |  i \ } } |  i \ } } |  i | | | ƒ d  S(   N(	   R   R   R/   R0   R   R4   R6   R7   t   xpos(   R   Rr   R6   R0   R/   R4   (    (    R   t   setxä   s    c         C   s6   |  i \ } } |  i \ } } |  i | | | ƒ d  S(   N(	   R   R   R/   R0   R   R4   R6   R7   t   ypos(   R   Rt   R6   R0   R/   R4   (    (    R   t   setyé   s    c         G   s¢   t  | ƒ d j o6 y | d \ } } Wqw t d | d f ‚ qw Xn/ y | \ } } Wn t d | d f ‚ n X|  i \ } } |  i	 | | | | ƒ d  S(   Ni   i    s   bad point argument: %rs   bad coordinates: %r(
   RA   R@   RL   RM   R   R   R   R/   R0   R7   (   R   R@   R0   RM   RL   R/   (    (    R   t   gotoî   s    c         C   s	  |  i \ } } } t t | | f ƒ |  _ |  i	 o |  i
 i |  i ƒ n |  i o¥|  i oTt | | ƒ }
 t | | ƒ } t |
 | ƒ } t | ƒ } |  i i | | | | d |  i d d d |  i ƒ} yÅ xŒ t d d | ƒ D]w } | |
 | | | | | | }	 } |  i i | | | |	 | ƒ |  i |	 | f ƒ |  i i ƒ  |  i i  d ƒ qå W|  i i | | | | | ƒ |  i i! | d d ƒWqçt" i# j
 o d  SqçXn4 |  i i | | | | d |  i d d d |  i ƒ} |  i$ i | ƒ n |  i ƒ  d  S(	   NR   t   capstylet   roundR'   i   i
   t   arrowt   none(%   R   R   R/   R0   R1   t   mapR   R4   R6   R!   R"   RU   R   R
   t   dxt   dyt   hypotR2   RN   t   nhopsR   RD   R   R    R)   t   ranget   iRL   RM   t   coordsR,   R   t   afterR_   RF   RG   R	   (   R   R4   R6   R   R   R2   R)   RM   R1   RL   R|   R}   R0   R/   (    (    R   R7   ü   s@    


	 %	c         C   sÑ   |  i p d  Sn | g  j o |  i } n | \ } } d } | t |  i |  i	 ƒ } | t |  i |  i	 ƒ } |  i ƒ  |  i i | | | | | | d |  i d d d d d |  i ƒ|  _ |  i i ƒ  d  S(   Ni   R   Ry   t   lastRw   Rx   R'   (   R   R
   Rq   R   RL   RM   R2   R3   R   R   R|   R5   R}   R+   R   RD   R   R    R   R   (   R   Rq   R2   R}   R|   RL   RM   (    (    R   R,      s    

	c         C   s4   |  i d j o |  i i |  i ƒ n d |  _ d  S(   Ni    (   R   R   R   R*   (   R   (    (    R   R+   1  s    (    R   R   R   R   R   R   R$   R.   R8   R9   R;   R<   R=   R>   R   RB   RH   RX   R'   Re   Rl   Rm   Rn   Ro   Rp   Rq   Rs   Ru   Rv   R7   R,   R+   (    (    (    R   R   	   s:   				
											2									$t   Penc           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s€   t  d  j o# t i ƒ  a  t  i d |  i ƒ n t d  j o/ t i t  d d ƒa t i	 d d d d ƒ n t
 i |  t ƒ d  S(   Nt   WM_DELETE_WINDOWt
   backgroundt   whitet   expandi   R'   t   both(   R%   Re   RF   t   Tkt   wm_protocolR   t   _destroyR   t   Canvast   packR   R   (   R   (    (    R   R   >  s     c         C   s@   |  i i ƒ  } | t j o d  a d  a d  a n | i ƒ  d  S(   N(   R   R   R%   t   rootRe   t   _pent   destroy(   R   R   (    (    R   R   I  s     
(   R   R   R   R   (    (    (    R   R…   <  s   	c          C   s"   t  }  |  p t ƒ  a  }  n |  S(   N(   R‘   t   penR…   (   R“   (    (    R   t   _getpenS  s
     c           C   s   t  ƒ  i ƒ  d  S(   N(   R”   R   (    (    (    R   R   Z  s    c           C   s   t  ƒ  i ƒ  d  S(   N(   R”   R   (    (    (    R   R   [  s    c           C   s   t  ƒ  i ƒ  d  S(   N(   R”   R   (    (    (    R   R   \  s    c           C   s   t  ƒ  i ƒ  d  S(   N(   R”   R$   (    (    (    R   R$   ]  s    c         C   s   t  ƒ  i |  ƒ d  S(   N(   R”   R.   R-   (   R-   (    (    R   R.   ^  s    c         C   s   t  ƒ  i |  ƒ d  S(   N(   R”   R8   R2   (   R2   (    (    R   R8   _  s    c         C   s   t  ƒ  i |  ƒ d  S(   N(   R”   R9   R2   (   R2   (    (    R   R9   `  s    c         C   s   t  ƒ  i |  ƒ d  S(   N(   R”   R;   R:   (   R:   (    (    R   R;   a  s    c         C   s   t  ƒ  i |  ƒ d  S(   N(   R”   R<   R:   (   R:   (    (    R   R<   b  s    c           C   s   t  ƒ  i ƒ  d  S(   N(   R”   R=   (    (    (    R   R=   c  s    c           C   s   t  ƒ  i ƒ  d  S(   N(   R”   R>   (    (    (    R   R>   d  s    c         C   s   t  ƒ  i |  ƒ d  S(   N(   R”   R   (   R   (    (    R   R   e  s    c          G   s   t  ƒ  i |  Œ  d  S(   N(   R”   RB   R@   (   R@   (    (    R   RB   f  s    i    c         C   s   t  ƒ  i |  | ƒ d  S(   N(   R”   RX   RT   RV   (   RT   RV   (    (    R   RX   g  s    c         C   s   t  ƒ  i |  ƒ d  S(   N(   R”   R'   R-   (   R-   (    (    R   R'   h  s    c         C   s   t  ƒ  i |  | ƒ d  S(   N(   R”   Rl   Rf   Rc   (   Rf   Rc   (    (    R   Rl   i  s    c          G   s   t  ƒ  i |  Œ  d  S(   N(   R”   Rv   R@   (   R@   (    (    R   Rv   j  s    c           C   s   t  ƒ  i ƒ  S(   N(   R”   Rm   (    (    (    R   Rm   k  s    c         C   s   t  ƒ  i |  ƒ d  S(   N(   R”   Rn   R:   (   R:   (    (    R   Rn   l  s    c           C   s   t  ƒ  i ƒ  S(   N(   R”   Rq   (    (    (    R   Rq   m  s    c           C   s   t  ƒ  i ƒ  S(   N(   R”   Ro   (    (    (    R   Ro   n  s    c           C   s   t  ƒ  i ƒ  S(   N(   R”   Rp   (    (    (    R   Rp   o  s    c         C   s   t  ƒ  i |  ƒ d  S(   N(   R”   Rs   Rr   (   Rr   (    (    R   Rs   p  s    c         C   s   t  ƒ  i |  ƒ d  S(   N(   R”   Ru   Rt   (   Rt   (    (    R   Ru   q  s    c          C   s
  t  ƒ  t d ƒ t ƒ  t d ƒ t ƒ  t d ƒ x— t d ƒ D]‰ }  |  d j o t d ƒ n x( t d ƒ D] } t
 d ƒ t d ƒ qn W|  d j o t d ƒ t d	 ƒ n t ƒ  t
 d
 ƒ t ƒ  q@ Wt d ƒ t d ƒ t d	 ƒ t ƒ  t d ƒ t
 d ƒ t d ƒ t
 d ƒ t d ƒ t ƒ  t d d ƒ t d d ƒ t d ƒ x< t d ƒ D]. }  t
 d ƒ t d ƒ t
 d ƒ t d ƒ q\Wt d ƒ x< t d ƒ D]. }  t
 d ƒ t d ƒ t
 d ƒ t d ƒ q¥Wt d	 ƒ t d ƒ t d j o t i ƒ  n d  S(   Ni   id   i   i   i   i   iZ   t   marooni    i   R   i´   t
   startstartR1   t   redi   t   endt   __main__(   R   R.   R=   R9   R>   R   R€   R   R'   t   jR8   R;   RB   R<   RX   R   R%   t   mainloop(   R   Rš   (    (    R   t   demos  sd    


  











 



 




R™   (%   t   mathRF   t	   ExceptionR   R   Re   R%   R   R‘   R…   R”   R   R   R   R$   R.   R8   R9   R;   R<   R=   R>   R   RB   RX   R'   Rl   Rv   Rm   Rn   Rq   Ro   Rp   Rs   Ru   Rœ   R   (   R<   RB   Rœ   R   R>   R…   Ru   R'   R   RX   R”   R   R8   Rl   RF   Rv   Rp   R   Ro   R   R   R$   R=   Rm   Rn   Rq   R9   Rs   R.   R;   (    (    R   t   ?   sH   	ÿ 0																								6