Cómo crearate ¿Un juego de adivinanzas de números en Python?
Ya debería haber adivinado el contenido de este artículo. Y probablemente debería estar familiarizado con adivinar números y buscar una manera de construirlo usando Python.
Aprendamos a crearate un juego de adivinanzas numéricas desde cero.
Juego de adivinanzas de números
El juego es sencillo. El usuario tiene que adivinar el género aleatoriamente.ated número que se encuentra entre el rango de 1 a 100. Eso es.
¿Es el juego así de simple?
Sí lo es.
Pero hay una cosa que debemos proporcionar a los usuarios para que adivinen el número. Eso son pistas. Tenemos que proporcionar un mensaje al usuario que diga que el número adivinado actual es menor que el número correcto o que el número adivinado actual es mayor.ater que el número correcto. Para que los usuarios sepan en qué dirección tienen que ir.
Podemos hacerlo más emocionante agregando extra características como el número máximo de posibilidades de adivinar, aumentar el rango, configurar un temporizador, etc.
Es obligatorio crear el juego de trabajo básico. Después, podemos agregar más funciones como se discutió. Entonces, vamos a crearate la versión básica del juego en esta sección. Y luego pasaremos a agregar nuevas funciones.
Quiero que intentes crear el juego sin copiar el código a ciegas. Entonces, primero voy a explicar el algoritmo. Le ayudará a codificar suself o comprender el código rápidamente.
Veamos el algoritmo para crearate el juego de adivinanzas de números.
Algoritmo
Asegúrese de comprender el algoritmo antes de pasar a la parte de codificación.
- Defina el rango de los números. De forma predeterminada, es 1-100, pero puede cambiarlo como prefiera.
- eneroate un número entero aleatorio del rango anterior (
1-100
). - Inicie el juego mostrando al usuario un mensaje que diga "Adivina el número de X a Y". puedes actualizarate el mensaje como desees.
- Inicializar una variable para
0
para contar el número total de oportunidades que ha tenido el usuario para adivinar el número correctamente. - Escribe un bucle infinito.
- Pídale al usuario que adivine el número.
- Si el número adivinado actual es igual al generado aleatoriamenteated número, entonces felicidadesate al usuario con un mensaje como desee. Un ejemplo sería “-> ¡Hurra! ¡Lo tienes en 5 pasos! ”.
- Rompe el círculo después de felicitar al usuario.
- Si el número adivinado actual es menor que el generado aleatoriamenteated número, luego envíe un mensaje al usuario diciendo "-> Tu número es menor que el número aleatorio" o un mensaje personalizado con el mismo significado.
- Si el número adivinado actual es greater que el gene aleatorioated número, luego envíe un mensaje al usuario diciendo “-> Tu número es greater que el número aleatorio” o una costumbre con el mismo significado.
- finalally, incrementa las posibilidades que el usuario ha tenido de adivinar.
Habría tenido un código en su mente después de ver el algoritmo. No se preocupe incluso si no obtiene el código completo. Pero asegúrese de comprender el algoritmo anterior.
Es hora de ponernos manos a la obra con el código. Ingrese al código sin más preámbulos.
Código
¿Intentaste escribir el código?
En caso afirmativo y completarlo. Es genial. Consulte el código y entiéndalo para agregar más perspectivas a su conocimiento.
Don’t worry even if you didn’t write the code. See the below code and understand it. Try to tweak and write it in your own way for better understanding.
Entonces, veamos el código.
import random
class NumberGuessingGame:
def __init__(self):
## define the range
self.LOWER = 1
self.HIGHER = 100
## method to generate the random number
def get_random_number(self):
return random.randint(self.LOWER, self.HIGHER)
## game start method
def start(self):
## generating the random number
random_number = self.get_random_number()
print(
f"Guess the randomly generated number from {self.LOWER} to {self.HIGHER}")
## heart of the game
chances = 0
while True:
user_number = int(input("Enter the guessed number: "))
if user_number == random_number:
print(
f"-> Hurray! You got it in {chances + 1} step{'s' if chances > 1 else ''}!")
break
elif user_number < random_number:
print("-> Your number is less than the random number")
else:
print("-> Your number is greater than the random number")
chances += 1
## instantiating and starting the game
numberGuessingGame = NumberGuessingGame()
numberGuessingGame.start()
Hay algunas cosas que comprende del código.
- El rango se define dentro del
__init__
método para que se pueda utilizar en todos los métodos de la clase. - Podemos cambiarlo fácilmente en un lugar que cambia en la aplicación en consecuencia.
- Hay una separaciónate método para generarate el número aleatorio que sigue el principio de “separarate las preocupaciones". Aquí, nuestro método tiene poco código, pero podría aumentar en el futuro.
- finalally, hemos usado la clase para que cada método que sea related al juego residirá dentro de él. Y se puede reutilizar fácilmente en otras aplicaciones.
Todos los puntos que se discuten anteriormente son related a escribir código limpio. Deberíamos intentar escribir un código limpio que usted entienda incluso después de algunos X años.
La salida de muestra del juego se ve de la siguiente manera.
$ python number_guessing_game.py
Guess the randomly generated number from 1 to 100
Enter the guessed number: 50
-> Your number is less than the random number
Enter the guessed number: 75
-> Your number is less than the random number
Enter the guessed number: 90
-> Your number is greater than the random number
Enter the guessed number: 85
-> Your number is greater than the random number
Enter the guessed number: 80
-> Hurray! You got it in 5 steps!
Supongo que tienes Python instalado para probar el código anterior.
Extra Feature
Vamos a sumar el número máximo de posibilidades de que un usuario adivine el número. Si el usuario no adivina el número dentro del número de posibilidades, el usuario pierde.
¿Cómo lo agregamos?
Es un simple paso de dos process. Veamos los pasos.
- Defina el número máximo de posibilidades de que el usuario adivine el número.
- Compruebe si el usuario tiene posibilidades o no antes de solicitar la entrada. Y finalizar el juego si el usuario no tiene oportunidades.
El siguiente código adicional completará la función.
- Agregue el siguiente código dentro del
__init__
método.
self.MAX_CHANCES = 10
- Agregue la siguiente condición antes de que el usuario ingrese la siguiente suposición.
if chances == self.MAX_CHANCES:
print("-> Phew! You lost the game. You are out of chances")
Ahora, prueba el juego sin adivinar el número correcto. Debería ver una salida similar a la siguiente.
$ python number_guessing_game.py
Guess the randomly generated number from 1 to 100. You have 10 chances to guess.
Enter the guessed number: 1
-> Your number is less than the random number
Enter the guessed number: 2
-> Your number is less than the random number
Enter the guessed number: 3
-> Your number is less than the random number
Enter the guessed number: 4
-> Your number is less than the random number
Enter the guessed number: 5
-> Your number is less than the random number
Enter the guessed number: 6
-> Your number is less than the random number
Enter the guessed number: 7
-> Your number is less than the random number
Enter the guessed number: 8
-> Your number is less than the random number
Enter the guessed number: 9
-> Your number is less than the random number
Enter the guessed number: 10
-> Your number is less than the random number
-> Phew! You lost the game. You are out of chances
¡Viva! hemos agregado un extra característica de nuestro juego. Aunque no es el final. Puede agregar algunas funciones más para hacerlo más atractivo para los usuarios. Es tu momento ahora. Adelante y hazlo más beautiful :).
Para Concluir
tenemos createUn sencillo juego de adivinar números. Ahora es tu turno de pensar en los juegos que jugabas cuando eras joven. Hazlos usando lenguaje de programación y comparte con tus amigos. Podemos digitalizar la mayoría de los juegos de nuestra infancia.
A continuación, explora Python IDE y compilador en línea para ejecutar código Python.
Codificación feliz 🙂
Si no te cansas de los juegos de palabras virales, aquí tienes cómo hacerlo mejor en Wordle.