moving files
This commit is contained in:
		
							
								
								
									
										58
									
								
								q1/13oct/hangman.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								q1/13oct/hangman.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,58 @@ | ||||
| from hangmantui import hangman, clear | ||||
| from userInput import ask_word_in_dictionary, ask_letter | ||||
|  | ||||
|  | ||||
| def hangman_start(score: int): | ||||
|     """start the hangman """ | ||||
|     life = 10 | ||||
|     choosed_word = ask_word_in_dictionary() | ||||
|     found_letters = '*' * len(choosed_word) | ||||
|     not_in_word = '' | ||||
|     while life > 0: | ||||
|         draw(life, found_letters) | ||||
|         in_letter = ask_letter(not_in_word) | ||||
|         if in_letter in choosed_word: | ||||
|             found_letters = unhide_letters(choosed_word, in_letter, found_letters) | ||||
|         else: | ||||
|             not_in_word += in_letter | ||||
|             life -= 1 | ||||
|  | ||||
|         if found_letters == choosed_word: | ||||
|             clear() | ||||
|             print('CONGRATS!! the word was: ', choosed_word) | ||||
|             score += len(list(dict.fromkeys(choosed_word[:]))) + life - len(not_in_word) | ||||
|             break | ||||
|  | ||||
|     return score | ||||
|  | ||||
|  | ||||
| def unhide_letters(choosed_word, letter, found_letters): | ||||
|     """take a letter and unhide it in the found letters | ||||
|     :choosed_word: the original word | ||||
|     :letter: the letter to unhide | ||||
|     :found_letters: the current found letter | ||||
|     :returns: found letter with unhiden letters | ||||
|     """ | ||||
|     ret = '' | ||||
|     for i in range(len(choosed_word)): | ||||
|         if letter in choosed_word[i]: | ||||
|             ret += letter | ||||
|         else: | ||||
|             ret += found_letters[i] | ||||
|     return ret | ||||
|  | ||||
|  | ||||
| def draw(life, word): | ||||
|     """draw the main screen with hangman, life remaining and word with * on unknown letters | ||||
|     :life: int of life remaining | ||||
|     :word: current word with * on unknown letters and other letters on found | ||||
|     """ | ||||
|     clear() | ||||
|     print(life) | ||||
|     hangman(life) | ||||
|     print(word) | ||||
|  | ||||
|  | ||||
| if __name__ == "__main__": | ||||
|     print("your score is", hangman_start(0)) | ||||
|  | ||||
		Reference in New Issue
	
	Block a user