Cómo crear un juego de adivinanzas de números en Python

Cree este sencillo juego para reforzar sus conceptos de programación en Python.


Crear juegos en Python es una excelente manera de aprender conceptos básicos de programación y construir una base más sólida en programación. Uno de los juegos que puedes crear es un simple juego de adivinanzas.


Puede crear un juego de adivinanzas con un solo script de Python. Ejecute el script usando la línea de comandos o la terminal para jugar.

Puede agregar algunos conceptos de juego adicionales para que el juego sea más interesante. Esto incluye la capacidad de dar pistas al jugador o cambiar la dificultad del juego.


Cómo generar un número aleatorio

Puede comenzar creando un nuevo script de Python con un .py expansión para salvar la lógica del juego. En el interior, agregue un código de inicialización para generar un número aleatorio entre 1 y 50 para que el jugador lo adivine.

Si no está familiarizado con la sintaxis de Python, eche un vistazo a algunos ejemplos basicos de python para ponerte al día.

  1. crear un nuevo archivo llamado juego-de-adivinanzas-de-numeros.py. abre el archivo usando cualquier editor de texto como Visual Studio o Átomo.
  2. En la parte superior del archivo, haga clic en Importar aleatorio módulo:
     import random 
  3. úsalo aleatorio del módulo aleatorio() Cómo generar un número aleatorio entre 1 y 50:
     guess_range = 50
    answer = random.randint(1, guess_range)
  4. Comienza el juego y pide al jugador que adivine el número:
     print("Welcome to the number guessing game!")
    print("")
    userInput = input("Guess a number between 1 and " + str(guess_range) + ": ")
    guess = int(userInput)

Cómo verificar si el usuario adivinó el número correcto

Para que el usuario gane el juego, compare la entrada del usuario con el número aleatorio generado y vea si coincide.

  1. Incluso si el usuario aún no ha adivinado la respuesta correcta, pídale nuevamente que ingrese una nueva entrada. Debido a que la estructura de Python depende de una sangría adecuada, asegúrese de sangrar cualquier código sangrado:
     guess = ""
    while guess != answer:
      userInput = input("Guess a number between 1 and " + str(guess_range) + ": ")
      guess = int(userInput)
  2. Si el código pasa por el bucle while, significa que adivinaron la respuesta correcta:
     print("Congratulations! You guessed the correct number. You win!")  

Cómo agregar un número limitado de conjeturas

Para evitar que un jugador haga una cantidad infinita de preguntas, puede limitar la cantidad de conjeturas que puede hacer.

  1. Declare una nueva variable al comienzo del archivo para realizar un seguimiento de la cantidad de intentos que se le permiten a un jugador. Establézcalo en 10 para comenzar:
     guesses_allowed = 10 
  2. Cambie la declaración while a un bucle for que se repite solo para un número limitado de conjeturas:
     for i in range(guesses_allowed):
      userInput = input("Guess a number between 1 and " + str(guess_range) + ": ")
      guess = int(userInput)
  3. Dentro del ciclo for, salga del ciclo for si una de las conjeturas es la respuesta correcta:
     if guess == answer:
      print("Congratulations! You guessed the correct number. You win!")
      break
  4. Nuevamente, dentro del bucle for, agregue otra declaración if para verificar que el jugador haya alcanzado el límite de conteo de conjeturas. Si es así, termina el juego:
     if (i == guesses_allowed - 1):
      print("Sorry, you have run out of guesses. You lose!")

Cómo agregar pistas a un juego

Agregue otra característica al juego para darle al jugador algunas pistas. Una pista podría ser decirles que deben adivinar un número mayor o menor.

Otro consejo es decirles qué tan cerca o lejos están de la respuesta. Por ejemplo, debería informarles si el juego “se calienta”. De lo contrario, si están equivocados, el juego debería decirles que se están volviendo “fríos”.

  1. Cambie la declaración if que le dice al usuario si ganó o no. Si aún no han adivinado la respuesta correcta, infórmeles si la respuesta real es más alta o más baja.
     if guess == answer:
      print("Congratulations! You guessed the correct number. You win!")
      break
    elif guess < answer:
      print("The number is higher.")
    else:
      print("The number is lower.")
  2. Agregue otra instrucción if para agregar instrucciones adicionales. Esto les indicará que se están acercando al número o “calentando”. Usa la función absoluta para determinar la distancia entre la conjetura y la respuesta. Por ejemplo, si están a menos de 10 números de la respuesta, el juego dirá “Estás caliente”:
     if abs(guess - answer) <= 10:
      print("You're warm!")
    elif abs(guess - answer) <= 20:
      print("You're getting warmer.")
    elif abs(guess - answer) <= 30:
      print("You're cold.")
    else:
      print("You're freezing.")

Cómo cambiar la dificultad del juego.

Puede pedirle al usuario que seleccione un nivel de dificultad. El nivel de dificultad determina cuántos intentos de adivinanza tiene el jugador y qué tan lejos está el rango de adivinanzas.

  1. Al comienzo del juego, pide al usuario que seleccione un nivel de dificultad:
     print("Welcome to the number guessing game!")
    print("")
    while True:
      level = input("Select difficulty level (easy, medium, hard): ").lower()
  2. Agregue algo de validación para asegurarse de que el jugador solo escriba opciones “fáciles”, “medianas” o “difíciles”. Si el usuario ingresa una respuesta incorrecta, el juego le pedirá que vuelva a ingresar el nivel de dificultad.
     if level in ["easy", "medium", "hard"]:
      break
    else:
      print("Invalid input. Please select either 'easy"https://news.google.com/__i/rss/rd/articles/,"medium', or 'hard'.")
  3. Antes de generar un número aleatorio, usa la dificultad para determinar cuántas conjeturas puede hacer un jugador. También puede usar su nivel de dificultad seleccionado para determinar qué tan grande debe ser el rango de estimaciones:
     if level == "easy":
      guess_range = 50
      guesses_allowed = 20
    elif level == "medium":
      guess_range = 100
      guesses_allowed = 15
    else:
      guess_range = 150
      guesses_allowed = 10

    answer = random.randint(1, guess_range)

Cómo jugar el juego

Ahora que tiene toda la lógica del juego, puede jugarlo en el símbolo del sistema. También puedes ver un ejemplo de un juego de adivinanzas de números enteros GitHub.

  1. Abra una línea de comando o terminal y navegue hasta el directorio donde guardó su secuencia de comandos de Python. Por ejemplo, si guarda su secuencia de comandos en el escritorio, el comando se verá así:
     cd C:\Users\Sharl\Desktop 
  2. úsalo pitón Comando para ejecutar su secuencia de comandos de Python:
     python number-guessing-game.py 
  3. Introduce el nivel de dificultad.
    Juego de adivinanzas de números de Python en la terminal

  4. Introduzca números en el símbolo del sistema para adivinar el número.
    Juego de adivinanzas de números de Python en el juego de terminal

Aprende a programar creando juegos simples

Ahora comprende cómo crear y ejecutar un juego simple utilizando un solo script de Python. Continúe su viaje de aprendizaje explorando otras interesantes ideas de proyectos. Un ejemplo de esto es intentar crear un barrido de ping en Python.

Leave a Reply

Your email address will not be published. Required fields are marked *