Cómo crear un juego en Python desde cero: Adivina el número

Crea un juego interactivo en Python con este tutorial paso a paso. Programa "Adivina el número" fácilmente, ideal para principiantes.

Si estás aprendiendo a programar en Python, una excelente manera de practicar tus habilidades es creando pequeños proyectos.

En este artículo, te enseñaremos cómo desarrollar un sencillo juego de “Adivina el número”.

Este proyecto es ideal para principiantes, ya que cubre conceptos esenciales como bucles, condicionales, manejo de entrada del usuario y generación de números aleatorios.

¿De qué trata el juego?

El juego consiste en que el programa elige un número secreto dentro de un rango, y el jugador debe adivinarlo.

Después de cada intento, el programa proporcionará pistas como “El número es más alto” o “El número es más bajo”. El juego finaliza cuando el jugador adivina el número secreto.

A continuación, te mostramos los pasos detallados para implementar este divertido juego.

Paso a paso para crear el juego

1. Importar la biblioteca necesaria

Para comenzar, necesitamos la biblioteca random, que nos permitirá generar el número secreto de forma aleatoria.

import random

2. Generar el número aleatorio

Con la función random.randint(), podemos generar un número aleatorio dentro de un rango. En este caso, elegiremos un número entre 1 y 100.

numero_secreto = random.randint(1, 100)

3. Mostrar un mensaje de bienvenida

Es buena práctica agregar un mensaje introductorio para que el jugador sepa de qué trata el juego y qué debe hacer.

print("\u00a1Bienvenido al juego de adivina el número!")
print("He pensado en un número entre 1 y 100. ¿Puedes adivinar cuál es?")

4. Crear un contador de intentos

Antes de iniciar el bucle, se inicializa una variable llamada intentos en 0. Esta servira para contar cuántas veces el usuario ha intentado adivinar.

intentos = 0

5. Iniciar el bucle de intentos

Usamos un bucle while para que el programa siga pidiendo intentos hasta que el jugador adivine el número. Cada intento se ingresa como un número entero con int(input(...)).

while True:
    intento = int(input("Adivina el número (entre 1 y 100): "))
    intentos += 1

6. Comparar el número ingresado y dar pistas

Dentro del bucle, verificamos si el número ingresado es menor, mayor o igual al número secreto. Según el caso, mostramos un mensaje de pista o felicitamos al jugador.

 if intento < numero_secreto:
        print("El número es más alto.")
    elif intento > numero_secreto:
        print("El número es más bajo.")
    else:
        print("¡Felicidades! Adivinaste el número en {intentos} intentos.")
        break

Código completo

Aquí tienes el código completo del juego:

import random

# Generar un número aleatorio entre 1 y 100
numero_secreto = random.randint(1, 100)

# Mostrar mensaje de bienvenida
print("¡Bienvenido al juego de adivina el número!")
print("He pensado en un número entre 1 y 100. ¿Puedes adivinar cuál es?")

# Inicializar el contador de intentos
intentos = 0

# Iniciar el bucle para los intentos
while True:
    intento = int(input("Adivina el número (entre 1 y 100): "))
    intentos += 1
    
    if intento < numero_secreto:
        print("El número es más alto.")
    elif intento > numero_secreto:
        print("El número es más bajo.")
    else:
        print("¡Felicidades! Adivinaste el número en {intentos} intentos.")
        break

Interacción usuario-programa

Para que quede claro cómo funciona el juego, aquí tienes un ejemplo de cómo se vería la interacción:

¡Bienvenido al juego de adivina el número!
He pensado en un número entre 1 y 100. ¿Puedes adivinar cuál es?

Adivina el número (entre 1 y 100): 50
El número es más alto.

Adivina el número (entre 1 y 100): 75
El número es más bajo.

Adivina el número (entre 1 y 100): 62
El número es más alto.

Adivina el número (entre 1 y 100): 68
¡Felicidades! Adivinaste el número en 4 intentos.

Posibles mejoras al juego

Una vez que tengas este juego básico funcionando, puedes ampliarlo con las siguientes ideas:

  1. Agregar un límite de intentos: Si el jugador no adivina en un número determinado de intentos, pierde el juego.
  2. Niveles de dificultad: Permite al jugador elegir un nivel (fácil, medio, difícil) que ajuste el rango del número aleatorio.
  3. Mostrar histórico de intentos: Guarda los números ingresados por el jugador para mostrarlos al final.
  4. Interfaz gráfica: Integra una interfaz sencilla con bibliotecas como tkinter.

Conclusión

Este juego de “Adivina el número” es un excelente proyecto para practicar programación en Python. Te ayuda a consolidar conceptos clave y es fácil de personalizar para hacerlo más desafiante o divertido. ¡Ponte manos a la obra y empieza a programarlo hoy!

Henry Hernandez

Henry Hernandez

Artículos: 191