python

Juego de El ahorcado en Python

En este post te mostraré el juego del ahorcado programado en Python. Voy a poner la demostración y la explicación de cómo fue programado.

Ahorcado (hangman) en Python

Las características de El ahorcado en Python, también conocido como hangman, son:

  • Juega con 6 intentos
  • Coloca la letra y trata de adivinar la palabra antes de que se acaben los intentos
  • Distintas categorías de palabras
  • Gestión de bancos o grupos de palabras con archivos. Es decir, se tiene una base de datos de las palabras
  • Ajustes del juego, para agregar, eliminar o editar palabras y grupos de palabras
  • Selección del grupo de palabras para jugar. Al iniciar, se selecciona una palabra al azar.
  • Muestra las instrucciones para jugar al ahorcado

Veamos ahora el código, la demostración y explicación de este programa en Python.

Categorías o grupos de palabras

Como lo dije, el programa soporta que los bancos de palabras sean guardados en archivos de texto. Por lo tanto, se necesitan funciones para gestionar estas operaciones.

Los grupos de palabras están en un archivo de texto cuyo nombre está definido en una variable del programa. Para obtener los grupos tenemos la siguiente función:

See the gist on github.

Lo que hace es leer el archivo línea por línea, remover el salto de línea y agregar el elemento a la lista de grupos. Al final regresará la lista con todos los grupos que están en el archivo.

De manera similar, existe la función para que a partir de una lista de categorías se genere el archivo de texto:

See the gist on github.

Gestión de palabras para el ahorcado

Las palabras están en un archivo de texto cuyo nombre es el nombre del grupo o categoría, y en su contenido encontramos la lista de palabras. La función es similar:

See the gist on github.

Y también para guardarlas:

See the gist on github.

Desarrollo de juego

El juego básicamente consiste en lo siguiente, en donde se comprueba si ha ganado o perdido, además de que se le solicita la letra y se dibuja el muñeco dependiendo de los intentos restantes:

See the gist on github.

Ahora veamos con detalle.

Seleccionar categoría y palabra a adivinar

Al jugar se le muestra al usuario la lista de categorías existentes para que pueda elegir con cuál categoría y palabra juega al juego ahorcado o hangman programado en Python:

See the gist on github.

A partir de ello se selecciona una palabra aleatoria usando random.choice:

See the gist on github.

Ocultar palabra original

Una parte importante para ocultar las letras de la palabra es la siguiente, en donde para aprovechar las ventajas del lenguaje he usado un diccionario que tiene la letra y una variable que indica si la letra ha sido descubierta:

See the gist on github.

Por defecto, ninguna letra está adivinada. Pero el usuario puede intentar adivinar una letra, lo cual es manejado a continuación:

See the gist on github.

Como se puede observar, se lleva un registro de las letras que el usuario ha probado. Si vuelve a probar una letra que ya había escrito anteriormente, no pasa nada, se ignora.

Después, en la línea 10 se comprueba si la letra está en la palabra original. En caso de que no esté presente, se resta un intento o vida al jugador.

Finalmente en la línea 12 (lugar al que se llega si la letra está presente, es decir, si el jugador ha acertado) se marcan como adivinadas las letras que coincidan con lo que el usuario eligió.

Imprimir palabra

Además, tenemos otra función que imprime la palabra pero con la peculiaridad de que si la letra no está adivinada, imprime un guión (se puede cambiar por un asterisco o cualquier otra cosa).

See the gist on github.

Saber si ha ganado el juego de El ahorcado

Para saber si el usuario ha adivinado todas las letras de la palabra, se recorre la palabra compuesta y en caso de que no haya letras sin adivinar, se regresa True.

See the gist on github.

Dibujar ahorcado

Para terminar la explicación de las funciones veamos la función que dibuja al muñeco ahorcado en función de los intentos restantes. Queda así:

See the gist on github.

Poniendo todo junto

Así que el código completo queda como se ve a continuación. De este modo podemos jugar a hangman en Python. Recuerda que eres libre de modificar el código a tus necesidades.

See the gist on github.

Puedes probar el juego en línea aquí.

Si te ha gustado, te invito a leer más sobre Python o sobre videojuegos.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

1 día hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

1 día hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

2 días hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

2 días hace

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

6 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

7 días hace

Esta web usa cookies.