Juego de Ahorcado en Python

Un buen ejercicio de programación para principiantes consiste en programar una versión del juego de Ahorcado. Este juego consiste en adivinar palabras, un jugador elige una palabra y dibuja en un papel una serie de guiones representando cada una de las letras que componen la palabra. Otro jugador intenta adivinar el texto sugiriendo letras.


Al programar este juego en Python, es necesario hacer uso de diferentes conceptos de programación como uso de variables, cadenas de caracteres, documentación interna, ciclos, subrutinas y chequeo de restricciones.

En el video que se muestra más adelante, se muestra todo el proceso de creación del juego de Ahorcado, usando la consola como interfaz de usuario. Se utiliza una estrategia top-down para completar el programa. Se inicia con un programa principal que realiza las tareas más globales del juego y se divide el problema general en subproblemas que se solucionan por medio de subrutinas. En algunos casos las subrutinas se descomponen o hacen uso de otras subrutinas.

A continuación se muestra la lista de subrutinas utilizadas y el propósito de cada una de ellas.
  1. ahorcado(): es el programa principal, se encarga de organizar la lógica general del juego.
  2. limpiarPantalla(): limpia la pantalla de la consola.
  3. imprimirEntrada(): imprime un mensaje de entrada o bienvenida al juego.
  4. leerTextoOriginal(): lee de la consola y retorna un string que será utilizado como texto a adivinar.
  5. esTextoValido(texto): función booleana que dice si texto es un texto válido para utilizar en el juego.
  6. preparar(texto): función que elimina tildes, mayúsculas y espacios en blanco al inicio y al final del texto a adivinar.
  7. adivino(texto, intentadas): función booleana que dice si el usuario ya ganó el juego. Recibe el texto a adivinar y también las letras que el usuario ya ha utilizado.
  8. imprimirRonda(texto, intentadas, intentos, ronda): se encarga de imprimir en pantalla toda la información actual del juego. Se invoca una vez por cada ronda. Recibe el texto a adivinar, las letras que ha intentado, la cantidad de intentos fallidos y el número de ronda.
  9. enmascarar(texto, adivinadas): se encarga de producir el texto que sustituye las letras no adivinadas por guiones.
  10. leerIntento(intentadas): solicita al usuario una letra para adivinar. Si el usuario no escribe una letra válida, vuelve a solicitarla hasta que lo haga.
  11. aciertaIntento(texto, letra): función booleana que dice cuándo el usuario adivinó una letra del texto.
  12. imprimirMensajeAcierto(): imprime un mensaje que indica al usuario que ha acertado una letra.
  13. imprimirMensajeNoAcierto(): imprime un mensaje que indica al usuario que no ha acertado una letra.
  14. imprimirMensajeVictoria(): imprime un mensaje que indica al usuario que ha ganado el juego.
  15. imprimirMensajeDerrota(): imprime un mensaje que indica al usuario que ha perdido el juego.
  16. leerJugarNuevamente(): pregunta al usuario si desea jugar nuevamente.
  17. imprimirMensajeDespedida(): imprime un mensaje de despedida cuando termina el programa.
Acá pueden ver el video, es un poco largo porque incluye todo el desarrollo del programa y el proceso de depuración, mientras que se señalan algunos detalles importantes. El lenguaje es un poco informal, se usan expresiones coloquiales del español costarricense, espero esto no sea un obstáculo en su comprensión.




Comments

Post a Comment

Popular Posts