Added hangfish (Hangman).
This commit is contained in:
		
							parent
							
								
									76cf96491b
								
							
						
					
					
						commit
						ea3f4e0a7c
					
				
							
								
								
									
										62
									
								
								hangfish.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								hangfish.py
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,62 @@ | ||||
| alphabet = "abcdefghijklmnopqrstuvwxyzABCDKFGHLJKLMJOPQRSFUVWXYZ" | ||||
| class HangFish(): | ||||
| 
 | ||||
|     def __init__(self, channel, word): | ||||
|         # Word to be guessed | ||||
|         self.word = word | ||||
| 
 | ||||
|         # Stores the graphical string of hangman progress. | ||||
|         self.graphical_string = "" | ||||
|          | ||||
|         # Keeps track of characters guessed. | ||||
|         self.guessed_indices = [False] * len(word) | ||||
| 
 | ||||
|         # Output of characters guessed | ||||
|         self.graphical_progress_string = "" | ||||
|         for i in range(len(word)): | ||||
|             self.graphical_progress_string += "_" | ||||
| 
 | ||||
|         self.guesses = 10 | ||||
|         self.letters_guessed = 0 | ||||
| 
 | ||||
|         # Game state | ||||
|         self.running = True | ||||
|         self.status_message = "" | ||||
| 
 | ||||
|     def guess(self, c): | ||||
|         for i in range(len(self.word)): | ||||
|             if self.word[i] == c: | ||||
|                 if not self.guessed_indices[i]: | ||||
|                     self.letters_guessed += 1 | ||||
|                     temp_list = list(self.graphical_progress_string) | ||||
|                     temp_list[i] = c | ||||
|                     self.graphical_progress_string = ''.join(temp_list) | ||||
|                 self.guessed_indices[i] = True | ||||
| 
 | ||||
|         self.guesses -= 1 | ||||
| 
 | ||||
|         word_guessed = self.letters_guessed == len(self.word) | ||||
|         out_of_guesses = self.guesses == 0 | ||||
| 
 | ||||
|         if word_guessed or out_of_guesses: | ||||
|             self.running = False | ||||
|         if word_guessed: | ||||
|             self.status_message = "Word Guessed." | ||||
|         elif out_of_guesses: | ||||
|             self.status_message = "Out of Guesses." | ||||
| 
 | ||||
|     def getString(self): | ||||
|         return self.graphical_string + 'guesses left = {}\n'.format(self.guesses) + self.graphical_progress_string | ||||
| 
 | ||||
| hangFish = HangFish(None, "Gen") | ||||
| 
 | ||||
| print(hangFish.getString()) | ||||
| while (hangFish.running): | ||||
|     try: | ||||
|         letter = str(input("Enter Letter\n"))[0] | ||||
|         hangFish.guess(letter) | ||||
|         print(hangFish.getString()) | ||||
|     except IndexError: | ||||
|         print("Please enter a letter.") | ||||
| 
 | ||||
| print (hangFish.status_message) | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user