î
TóU	"  ã            
   @   s:  d  d l  Z  d  d l Z d Z d Z e  j ƒ  d d „  Z d d „  Z d d	 „  Z d
 d „  Z d d „  Z	 d d „  Z
 d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d d „  Z d  d! „  Z e
 e e e e e e e e e g
 Z d" d# d$ d% d& d' d( d) d* d+ g
 Z d, d- „  Z d S).é    Néd   é   c               C   s   t  j d t d ƒ S)Nr   é   )ÚrandomZrandintÚSIDES© r   r   úQ/Users/agroce/Documents/Dropbox/Reed/math121/Projects/Project1/2015/pr1testing.pyÚroll   s    r	   c       	      C   sf  d } d } d } x	|  | | | ƒ } d } | } x- | d k rb t  ƒ  } | | 7} | d } q6 W| | 7} | t k s | rƒ Pn  | d k r˜ d } n  | | | | ƒ } d } | } x- | d k rå t  ƒ  } | | 7} | d } q¹ W| | 7} | t k s| rPn  | d k r d } q q | t k r.d S| t k r>d S| | k rNd S| | k r^d Sd Sd  S)Nr   Fr   Té   é   )r	   ÚTARGET)	Ústrat1Ústrat2Zscore1Zscore2ÚlastZnumDiceZ	diceTotalÚiÚdr   r   r   Úautoplay
   sJ    	

		

r   c             C   s  d } d } d } | } xi | | d k rƒ t  |  | ƒ } | d k rS | d 7} n# | d k rl | d 7} n
 | d 7} | d 8} q Wxe | d k rë t  | |  ƒ } | d k r» | d 7} n# | d k rÔ | d 7} n
 | d 7} | d 8} q‡ Wt d | ƒ t d | ƒ t d | ƒ d  S)Nr   r
   r   zPlayer 1 wins: zPlayer 2 wins: zTies:          )r   Úprint)r   r   ÚnÚwins1Úwins2ÚtiesÚstartÚresultr   r   r   Ú	manyGames7   s.    

r   c       	      C   s2  d } d } d } xº | d k rÎ t  |  | ƒ } | d k rI | d 7} n# | d k rb | d 7} n
 | d 7} | d 8} t  | |  ƒ } | d k rž | d 7} n# | d k r· | d 7} n
 | d 7} | d 8} q Wt | d | ƒ t | d | ƒ t | d ƒ | | k rt | d ƒ n t | d ƒ t ƒ  d  S)Nr   r   r
   z: z:  Tiesz wins!)r   r   )	r   r   Zname1Zname2r   r   r   r   r   r   r   r   ÚoneSampleAlternatingR   s2    


r   c             C   sK   d } x> | t  | ƒ k  rF t |  | | d | | | ƒ | d } q	 Wd  S)Nr   zYour strategyr   )Úlenr   )ZstrategyZ	stratListZnameListr   r   r   r   r   ÚtestAgainstListp   s    r   c             C   s   d S)Né   r   )ÚmyscoreÚ
theirscorer   r   r   r   Útest1x   s    r!   c             C   s   |  d k r d Sd Sd  S)NéP   r   é
   r   )r   r    r   r   r   r   Útest2ƒ   s    r$   c             C   s?   |  d k r |  | k r d Sd |  d } t  j | d ƒ Sd  S)NéU   r   r   g      @gÍÌÌÌÌÌì?)ÚmathÚfloor)r   r    r   Úxr   r   r   Útest3Ž   s    r)   c             C   s„  | r |  | k r d S| rE | d d } t  j | |  d ƒ } | S|  d k rU d S|  d d } t  j | d ƒ } d } t  j | | ƒ } |  | k r³ d | | d k  r³ d St  j d |  d	 ƒ }	 d |  |	 d d t  j | |	 d ƒ }
 xE |
 d
 k r<|	 d 7}	 d |  |	 d d t  j | |	 d ƒ }
 qø Wd } |  | k  rw| d d } t  j | |  d ƒ } n  t |	 | ƒ S)Nr   r   r
   g      @r   r   é   gÍÌÌÌÌÌä?r   gffffffþ?é$   é#   gUUUUUU@)r&   r'   ÚsqrtÚmax)r   r    r   ÚtargetÚ
losingRollÚtheirTargetÚ	theirDiceÚvarianceÚ
theirSigmaÚwinningRollÚsigmaToOverr   r   r   Útest4–   s0     +
/r7   c             C   s²   d |  } d | } | | } | d k  r. d S| d k rW | d k rW t  j | d ƒ S| d
 k  r€ | d k  r€ t  j | d ƒ S| d k  r t  j | d ƒ St  j | d	 ƒ Sd  S)Nr   r   r   é   é(   g      @é   é   r   éûÿÿÿ)r&   r'   )r   r    r   ÚmydiffÚ	theirdiffÚdiffdiffr   r   r   Útest5²   s    


r@   c             C   sÔ   | r |  | k r d Sd |  } d | } |  | } |  d k rP |  | k rP d S| d k ry |  d k  ry t  j | d ƒ S| d k  r¢ |  d k r¢ t  j | d ƒ S|  d	 k r¿ t  j | d
 ƒ St  j | d ƒ Sd  S)Nr   r   é_   r8   é<   g      @r   r"   éF   r;   r   r<   )r&   r'   )r   r    r   r=   r>   r?   r   r   r   Útest6Á   s    


rD   c             C   s„  | r |  | k r d S| rE | d d } t  j | |  d ƒ } | S|  d k rU d S|  d d } t  j | d ƒ } d } t  j | | ƒ } |  | k r³ d | | d k  r³ d St  j d |  d	 ƒ }	 d |  |	 d d t  j | |	 d ƒ }
 xE |
 d
 k r<|	 d 7}	 d |  |	 d d t  j | |	 d ƒ }
 qø Wd } |  | k  rw| d d } t  j | |  d ƒ } n  t |	 | ƒ S)Nr   r   r
   g      @r   r   r*   g
×£p=
Ç?r   gš™™™™™õ?r+   r,   gUUUUUU@)r&   r'   r-   r.   )r   r    r   r/   r0   r1   r2   r3   r4   r5   r6   r   r   r   Útest7Ò   s0     +
/rE   c             C   s   d |  d } d |  | S)Ng333333@éÈ   r   r   )r   r    r   Zdenr   r   r   Útest8ð   s    rG   c             C   s¿   | |  } d |  } |  d k r$ d S|  d k r4 d S|  | k  rk | d k rk |  d k r\ d S| d d SnP |  | k r‡ | d k r‡ d S|  | k r£ | d k r£ d S|  d k r· | d	 Sd Sd  S)
Nr   r   é!   Téa   r   r   r#   g«ªªªªª
@r   )r   r    r   Ú
differenceZmygoalr   r   r   Útest9÷   s"    

rK   c             C   sa   |  | k  r- | r- t  t d |  d ƒ d ƒ S|  | k rK t d |  d ƒ St d |  d ƒ Sd  S)Nr   r   r   r;   )r.   Úint)r   r    r   r   r   r   Útest10  s
    rM   zTest 1zTest 2zTest 3zTest 4zTest 5zTest 6zTest 7zTest 8zTest 9zTest 10c             C   s   t  |  t t d ƒ d  S)Ni'  )r   ÚtestsÚnames)Zstratr   r   r   r   Ú	testStrat  s    rP   )r   r&   r   r   Zseedr	   r   r   r   r   r!   r$   r)   r7   r@   rD   rE   rG   rK   rM   rN   rO   rP   r   r   r   r   Ú<module>   s,   
-	$$