Hangman Wiki:
Los orígenes de Hangman son un significado oscuro que no se ha descubierto, pero parece haber surgido en la época victoriana”, dice Tony Augarde, autor de The Oxford Guide to Word Games. El juego se menciona en los «Juegos tradicionales» de Alice Bertha Gomme en 1894 con el nombre de «Aves, bestias y peces». Las reglas son simples; un jugador escribe la primera y la última letra de una palabra y otro jugador adivina las letras intermedias. En otras fuentes, [¿dónde?] el juego se llama «Gallows», «The Game of Hangin» o «Hanger».
Implementación
Este es un simple juego del ahorcado que utiliza el lenguaje de programación Python. Los principiantes pueden usar esto como un pequeño proyecto para mejorar sus habilidades de programación y comprender la lógica.
- El programa Hangman selecciona aleatoriamente una palabra secreta de una lista de palabras secretas. El módulo aleatorio proporcionará esta capacidad, por lo que la línea 1 del programa la importa.
- El juego: aquí, se elige una palabra aleatoria (el nombre de una fruta) de nuestra colección y el jugador tiene posibilidades limitadas de ganar el juego.
- Cuando una letra de esa palabra se adivina correctamente, la posición de esa letra en la palabra se hace visible. De esta manera, todas las letras de la palabra deben ser adivinadas antes de que se acaben todas las posibilidades.
- Por comodidad, hemos dado longitud de palabra + 2 oportunidades. Por ejemplo, la palabra a adivinar es mango, entonces el usuario obtiene 5 + 2 = 7 posibilidades, ya que mango es una palabra de cinco letras.
Python
# Python Program to illustrate # Hangman Game import random from collections import Counter someWords = '''apple banana mango strawberry orange grape pineapple apricot lemon coconut watermelon cherry papaya berry peach lychee muskmelon''' someWords = someWords.split(' ') # randomly choose a secret word from our "someWords" LIST. word = random.choice(someWords) if __name__ == '__main__': print('Guess the word! HINT: word is a name of a fruit') for i in word: # For printing the empty spaces for letters of the word print('_', end = ' ') print() playing = True # list for storing the letters guessed by the player letterGuessed = '' chances = len(word) + 2 correct = 0 flag = 0 try: while (chances != 0) and flag == 0: #flag is updated when the word is correctly guessed print() chances -= 1 try: guess = str(input('Enter a letter to guess: ')) except: print('Enter only a letter!') continue # Validation of the guess if not guess.isalpha(): print('Enter only a LETTER') continue else if len(guess) > 1: print('Enter only a SINGLE letter') continue else if guess in letterGuessed: print('You have already guessed that letter') continue # If letter is guessed correctly if guess in word: k = word.count(guess) #k stores the number of times the guessed letter occurs in the word for _ in range(k): letterGuessed += guess # The guess letter is added as many times as it occurs # Print the word for char in word: if char in letterGuessed and (Counter(letterGuessed) != Counter(word)): print(char, end = ' ') correct += 1 # If user has guessed all the letters else if (Counter(letterGuessed) == Counter(word)): # Once the correct word is guessed fully, # the game ends, even if chances remain print("The word is: ", end=' ') print(word) flag = 1 print('Congratulations, You won!') break # To break out of the for loop break # To break out of the while loop else: print('_', end = ' ') # If user has used all of his chances if chances <= 0 and (Counter(letterGuessed) != Counter(word)): print() print('You lost! Try again..') print('The word was {}'.format(word)) except KeyboardInterrupt: print() print('Bye! Try again.') exit()
Nota: Ejecute el programa en su terminal.
omkarpathak@omkarpathak-Inspiron-3542:~/Documents/ Python-Programs$ python P37_HangmanGame.py Guess the word! HINT: word is a name of a fruit _ _ _ _ _ Enter a letter to guess: m _ _ m _ _ Enter a letter to guess: o _ _ m o _ Enter a letter to guess: l l _ m o _ Enter a letter to guess: e l e m o _ Enter a letter to guess: n l e m o n Congratulations, You won!
Pruébelo usted mismo Ejercicios:
- Puede mejorar aún más el programa agregando un temporizador después de cada Guess
- También puede dar pistas desde el principio para hacer la tarea un poco más fácil para el usuario.
- También puede disminuir la posibilidad en uno solo si la suposición del jugador es INCORRECTA. Si la conjetura es correcta,
la oportunidad del jugador no se reduce.
Este artículo es una contribución de Omkar Pathak . Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando write.geeksforgeeks.org o enviar tu artículo por correo a review-team@geeksforgeeks.org. Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.
Escriba comentarios si encuentra algo incorrecto o si desea compartir más información sobre el tema tratado anteriormente.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA