class Display: def __init__(self, word, images): self.hangman = Hangman(images) self.word = Word(word) self.letter_buttons = LetterButtons() def is_letter_not_in_word(self, ltr): if ltr not in self.word.get_word(): self.hangman.set_hangman_status() def mouse_click(self, mouse_x, mouse_y): letters = self.letter_buttons.get_letters() for letter in letters: if letter.get_visible(): distance = math.sqrt((letter.get_x() - mouse_x)**2 + (letter.get_y() - mouse_y)**2) if distance < RADIUS: self.letter_buttons.if_inside_button(letter) self.is_letter_not_in_word(letter.get_letter()) def draw_window(self): WINDOW.fill(WHITE) self.word.draw(self.letter_buttons.get_guessed()) self.letter_buttons.draw() self.hangman.draw() pygame.display.update() def is_won(self): for letter in self.word.get_word(): if letter not in self.letter_buttons.get_guessed(): return False return True def is_lost(self): return self.hangman.get_hangman_status() == 6
class Sce_Hangman(Scene): ''' classdocs ''' def __init__(self, director, background_hangman): ''' Constructor ''' Scene.__init__(self, director, background_hangman) self.hangman = Hangman() self.scene_winner = Sce_Winner(director, 'winner', HANGMAN_SCENE) for buttom in self.common_buttoms.itervalues(): buttom.is_visible = True def on_update(self): self.time = self.director.time self.update() if not self.hangman.lose: word = '' self.is_complete = word.join(self.hangman.exposed) == self.hangman.word self.hangman.lose = self.hangman.intent == self.hangman.intents else: self.hangman.paused = True def on_event(self, event): self.event(event) if event.type == pygame.KEYDOWN: if not self.hangman.paused and ((event.unicode.lower() in ("abcdefghijklmnopqrstuvwxyz")) or (event.key == pygame.K_SPACE and ' ' in self.hangman.word)): key = event.unicode.lower() #print "Tecla: "+key if (key in self.hangman.word.lower()) and (key not in self.hangman.typeds): self.hangman.put_char(key) else: self.hangman.intent += 1 def on_draw(self, screen): self.draw(screen) self.hangman.draw(screen)
def playGame(): # picking word print("Picking a word...") time.sleep(2) word=wordPicker() wordlen=len(word) print("Word picked !! Total :{} letters".format(wordlen)) printBreak() # initializing hangman man=Hangman() # main game loop guessed_words=["_"]*wordlen while True: ch=input("Guess a number : ") flag=0 for i in range(wordlen): if(word[i]==ch and guessed_words[i]=="_"): guessed_words[i]=ch flag=1 break if(flag): print("Right Guess !!") man.draw() else: print("Wrong Guess !!") dead=man.hang_and_draw() if(dead): printBreak() break print(" ".join(guessed_words)) print("\n") if(guessed_words.count("_")==0): print("Congrats! YOU WON !!") printBreak() break