67 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
		
		
			
		
	
	
			67 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Python
		
	
	
	
	
	
|   | # -*- encoding:utf-8 -*- | ||
|  | """Terminal User Interface for the hangman.""" | ||
|  | 
 | ||
|  | 
 | ||
|  | def clear(): | ||
|  |     """Clear the terminal screen.""" | ||
|  |     print(chr(27) + "[2J") | ||
|  | 
 | ||
|  | 
 | ||
|  | def hangman(lives): | ||
|  |     """
 | ||
|  |     Display a hangman state on terminal with maximum 10 lives. | ||
|  | 
 | ||
|  |     lives is the remaining number of lives between 0 and 10. When lives is 0, | ||
|  |     the hangman is completed/dead. | ||
|  |     """
 | ||
|  |     # Top | ||
|  |     print("  __________") | ||
|  |     print("  | /     |") | ||
|  |     # Head | ||
|  |     if lives <= 5: | ||
|  |         print("  |/      O") | ||
|  |     else: | ||
|  |         print("  |/") | ||
|  |     # Arms and torso | ||
|  |     if lives <= 2: | ||
|  |         print("  |      /|\\") | ||
|  |     elif lives <= 3: | ||
|  |         print("  |      /|") | ||
|  |     elif lives <= 4: | ||
|  |         print("  |       |") | ||
|  |     else: | ||
|  |         print("  |") | ||
|  |     # Torso | ||
|  |     if lives <= 4: | ||
|  |         print("  |       |") | ||
|  |     else: | ||
|  |         print("  |") | ||
|  |     # Legs | ||
|  |     if lives <= 0: | ||
|  |         print("  |      / \\") | ||
|  |     elif lives <= 1: | ||
|  |         print("  |      /") | ||
|  |     else: | ||
|  |         print("  |") | ||
|  |     # Bottom / Stool | ||
|  |     if lives <= 6: | ||
|  |         print("  |       _") | ||
|  |     else: | ||
|  |         print("  |)") | ||
|  |     if lives <= 7: | ||
|  |         print(" /|\\     /|\\") | ||
|  |     elif lives <= 8: | ||
|  |         print(" /|\\     / \\") | ||
|  |     elif lives <= 9: | ||
|  |         print(" /|\\     /") | ||
|  |     else: | ||
|  |         print(" /|\\") | ||
|  | 
 | ||
|  | 
 | ||
|  | if __name__ == "__main__": | ||
|  |     for i in range(10, -1, -1): | ||
|  |         clear() | ||
|  |         print("%i lives left:" % i) | ||
|  |         hangman(i) | ||
|  |         print("") |