ó
»SZc        	   @   s¹   d  d l  Z  d  d l Z d  d l Z d Z d d d „  ƒ  YZ e d k rµ e d e e  j d ƒ d e e  j d	 ƒ d
 e e  j d ƒ ƒ Z e j	 d ƒ e j
 e e  j d ƒ ƒ n  d S(   iÿÿÿÿNt   123456t   Modelc           B   s;   e  Z d  „  Z d d „ Z d „  Z d „  Z d d „ Z RS(   c         C   s]   t  t ƒ |  _ d d g d |  _ d | d g d | g |  _ i | d 6| d 6|  _ d  S(   Ng      ð?i   i   i   t   Ft   L(   t   listt   outcomest   emitt   fairProbt   loadProbt   tranProb(   t   selft   pFLt   pLFt   p6(    (    s   ./1.2.odc.sol.pyt   __init__	   s    c         C   s(   | r | |  _  n t j d ƒ |  _  d  S(   Nt   FL(   t   statet   randomt   choice(   R
   t   which(    (    s   ./1.2.odc.sol.pyt   setState   s     c         C   s|   |  j  d k r |  j } n	 |  j } t j ƒ  } d } x8 t t | ƒ ƒ D]$ } | | | 7} | | k  rI PqI qI W|  j | S(   NR   i    (   R   R   R   R   t   ranget   lenR   (   R
   R   t   ft   St   i(    (    s   ./1.2.odc.sol.pyt   rollDice   s     	 c            sE   ‡  f d †  } ˆ  j  ˆ  j } t j ƒ  } | | k  rA | ƒ  n  d  S(   Nc              s(   ˆ  j  d k r d ˆ  _  n	 d ˆ  _  d  S(   NR   R   (   R   (    (   R
   (    s   ./1.2.odc.sol.pyt   switch!   s     (   R	   R   R   (   R
   R   t   pR   (    (   R
   s   ./1.2.odc.sol.pyt   transit    s
     id   c         C   sZ   t  ƒ  } t  ƒ  } xA t | ƒ D]3 } t j j d |  j ƒ  |  j f ƒ |  j ƒ  q Wd  S(   Ns   %s%s
(   R   R   t   syst   stdoutt   writeR   R   R   (   R
   t   Nt   rollst   statesR   (    (    s   ./1.2.odc.sol.pyt   sequence(   s    		#N(   t   __name__t
   __module__R   t   NoneR   R   R   R$   (    (    (    s   ./1.2.odc.sol.pyR      s
   		
	t   __main__R   i   R   i   R   i   R   i   (    (   R   t   reR   R   R   R%   t   floatt   argvt   mR   R$   t   int(    (    (    s   ./1.2.odc.sol.pyt   <module>   s   +B