'''
Created on Feb 23, 2012

@author: ola
'''
import WordLoader, random

_DEBUG = True

def change_knowledge(guess,secret,knowledge):
    for i,ch in enumerate(secret):
        if ch == guess and knowledge[i] == '_':
            knowledge[i] = ch
    return knowledge

def display(guesses,knowledge):
    print "you've guessed",guesses
    print "your knowledge so far"
    print ' '.join(knowledge)
    print 

def play_game():
    sec_length = 5
    whole_list = WordLoader.get_words(sec_length)
    secret = random.choice(whole_list)
    knowledge = ["_"]*len(secret)
    guesses = []   # letters guessed so far
    misses = 0     # misses made so far
    misses_allowed = 4
    
    while misses < misses_allowed:
       display(guesses,knowledge)
       
       print "guesses left: ",misses_allowed-misses
       print "guess a letter",
       
       guess = raw_input()
       if guess in secret:
           print "you guessed a letter"
           knowledge = change_knowledge(guess,secret,knowledge)
       else:
           print "boo-hoo, no, sorry"
           misses = misses + 1
       guesses.append(guess) 
       if not "_" in knowledge:
           print "you win!"
           break
          
    print "game over, you win! secret word was ",secret

if __name__ == '__main__':
    play_game()