l
BIOc               @   ss   d  d l  Z  d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d	 „  Z d
 „  Z	 d „  Z
 d „  Z d S(   i    Nc             C   s&   t  |  ƒ } | j ƒ  } | j ƒ  | S(   N(   u   openu	   readlinesu   close(   u   fileNameu   fileu   lineList(    (    uP   /home/dietzd/Desktop/courses_a/old/CIT590/DietzPythonProjects/hangman/hangman.pyu   readFile	   s    
c       	      C   s  y t  |  ƒ } Wn t d t d ƒ d  SYn Xt | ƒ } d g | } xW t | ƒ D]I } | | d	 d k rŒ t | | ƒ d | | <qW t | | ƒ | | <qW Wd g d } xS t | ƒ D]E } | | d k ré | d d | d <q¾ | | | d | | | <q¾ Wd  g d } xx t d d ƒ D]g } d  g | | | | <d } xC t | ƒ D]5 } | | | k rR| | | | | <| d } qRqRWq$Wxx t d d ƒ D]g } d  g | | | | <d } xC t | ƒ D]5 } | | | k rÍ| | | | | <| d } qÍqÍWqŸW| S(
   Nu   Oops! u    was not a valid file.i    i   u   
i   i   i   iÿÿÿÿ(   u   readFileu   printu   filenameu   Noneu   lenu   range(	   u   fileNameu   lineListu   len_du   word_lengthu   iu   tabulateu   wordsu   ku   j(    (    uP   /home/dietzd/Desktop/courses_a/old/CIT590/DietzPythonProjects/hangman/hangman.pyu
   initialize   s@    	c             C   s   t  | ƒ } | |  S(   N(   u
   initialize(   u   nu   source_fileu   words(    (    uP   /home/dietzd/Desktop/courses_a/old/CIT590/DietzPythonProjects/hangman/hangman.pyu   wordsOfLength9   s    c             C   sB   d } x5 | s= t | ƒ } | |  k } | s	 t d ƒ q	 q	 W| S(   Nu!   That reply is invalid. Try again.F(   u   Falseu   inputu   print(   u   Lu   promptu   replyInListu   reply(    (    uP   /home/dietzd/Desktop/courses_a/old/CIT590/DietzPythonProjects/hangman/hangman.pyu   getUserStringInput=   s    	c             C   sH   d g t  |  ƒ } x. t t  |  ƒ ƒ D] } t |  | ƒ | | <q& W| S(   Nu    (   u   lenu   rangeu   str(   u   Lu   L2u   i(    (    uP   /home/dietzd/Desktop/courses_a/old/CIT590/DietzPythonProjects/hangman/hangman.pyu   intListToStringListG   s    c             C   sr  d } xC t  d ƒ D]5 } |  | r> | t d | ƒ d } q | d } q Wd } t | ƒ x1 | s t d ƒ } t | ƒ d k r_ d } q_ q_ Wt | ƒ d } | d k r¹ | d	 } n  x’ | d k sÓ |  | rMt d
 ƒ d } t | ƒ x1 | s t d ƒ } t | ƒ d k rð d } qð qð Wt | ƒ d } | d k r¼ | d	 } q¼ q¼ Wt d | ƒ } d |  | <| |  f S(   Nu    i   iA   u    u     u	   Guess! > i   i   i    u,   This is an invalid choice. Please try again!ia   FT(   u   rangeu   chru   Falseu   printu   inputu   lenu   Trueu   ord(   u   availableLettersu   letterStringu   ju	   validCharu   replyu   letterIndexu   guess(    (    uP   /home/dietzd/Desktop/courses_a/old/CIT590/DietzPythonProjects/hangman/hangman.pyu   getNewLetterGuessM   s8    

	

	
c       	      C   sµ   d g d | } d g t  |  ƒ } x„ t t  |  ƒ ƒ D]p } t |  | ƒ } d } x5 t | ƒ D]' } | | | k r` | d | } q` q` W| | | <| | d | | <q7 W| | f S(   Ni    i   i   iÿÿÿÿ(   u   lenu   rangeu   list(	   u   Lu   nu   guessu   wordFamilyCounteru   familyIndexListu   ku   wu   ctu   k2(    (    uP   /home/dietzd/Desktop/courses_a/old/CIT590/DietzPythonProjects/hangman/hangman.pyu   getWordFamilyCounterm   s    
c       	      C   sÁ   | j  t | ƒ ƒ } d g t |  ƒ } x7 t t |  ƒ ƒ D]# } | | | k r; d | | <q; q; Wd } d g t | ƒ } x? t t |  ƒ ƒ D]+ } | | rŽ |  | | | <| d } qŽ qŽ W| S(   Ni    u    i   FT(   u   indexu   maxu   Falseu   lenu   rangeu   Trueu   sum(	   u   Lu   familyIndexListu   wordFamilyCounteru
   bestFamilyu   boolistu   k3u   j2u	   smallListu   k4(    (    uP   /home/dietzd/Desktop/courses_a/old/CIT590/DietzPythonProjects/hangman/hangman.pyu   extractLargestFamilyz   s    
c             C   sV   t  |  ƒ } xC t | ƒ D]5 } | d | d k r6 n | d |  | <| d ?} q W|  S(   Ni   u    i   (   u   lenu   range(   u   patternListu   guessu
   bestFamilyu   nu   k6(    (    uP   /home/dietzd/Desktop/courses_a/old/CIT590/DietzPythonProjects/hangman/hangman.pyu   updatePatternList‰   s    c             C   s$   t  j d t |  ƒ d ƒ } |  | S(   Ni    i   (   u   randomu   randintu   len(   u   Lu   index(    (    uP   /home/dietzd/Desktop/courses_a/old/CIT590/DietzPythonProjects/hangman/hangman.pyu   pickWordFrom“   s    c              C   s¥  t  t t t d d ƒ ƒ ƒ d ƒ }  t |  ƒ } d g | } t d j | ƒ ƒ t | d ƒ } t  t t t d d ƒ ƒ ƒ d	 ƒ }  t |  ƒ } d g d
 } x½ t | ƒ D]¯ } t	 | ƒ \ } } t
 | | | ƒ \ } }	 | j t | ƒ ƒ }
 |
 d k rt d ƒ n
 t d ƒ t | |	 | ƒ } t | | |
 ƒ } t d j | ƒ ƒ d | k r© Pq© q© Wd | k r‡t d t | d ƒ d ƒ n t | ƒ } t d | ƒ d  S(   Ni   i   u1   How long should I make your word?!!? (2 to 20) > u   _ u    u   dictionary.txti   i   u"   How many guesses will you need? > i   i    u   Letter not in word.u   Letter is in word!!!u8   SURELY you must be CHEATING, but you guessed my word in u	    tries!!!u   You lose.  The word was: T(   u   getUserStringInputu   intListToStringListu   listu   rangeu   intu   printu   joinu   wordsOfLengthu   Trueu   getNewLetterGuessu   getWordFamilyCounteru   indexu   maxu   extractLargestFamilyu   updatePatternListu   stru   pickWordFrom(   u   replyu   nu   patternListu   Lu   mu   availableLettersu   iu   guessu   wordFamilyCounteru   familyIndexListu
   bestFamilyu	   bogusWord(    (    uP   /home/dietzd/Desktop/courses_a/old/CIT590/DietzPythonProjects/hangman/hangman.pyu   play—   s0    $$
(   u   randomu   readFileu
   initializeu   wordsOfLengthu   getUserStringInputu   intListToStringListu   getNewLetterGuessu   getWordFamilyCounteru   extractLargestFamilyu   updatePatternListu   pickWordFromu   play(    (    (    uP   /home/dietzd/Desktop/courses_a/old/CIT590/DietzPythonProjects/hangman/hangman.pyu   <module>   s   		(		
		 			
	