Trabajo Obligatorio. Desarrollo del juego del ahorcado con lenguaje C, usando las herramientas CodeBlocks y MinGW. Asignatura Algoritmos y Resolución de Problemas. Curso 2015/16
francisco javier guillén carballo
CALCULADORA CIENTÍFICA, CURSO 2015/16
Desarrollo del juego el ahorcado con
lenguaje C, usando la herramienta CodeBlocks y MinGW.
Consideraciones generales del juego
El juego está formado por:
Un archivo llamado main.c, que contiene el algoritmo principal. En este
algoritmo se desarrolla la acción del juego, mediante un menú con opciones y diversas llamadas a funciones. 1. Archivo main.c Un archivo de cabecera llamado funciones.h, que contiene las declaraciones y definiciones de todas las funciones llamadas desde el algoritmo principal en el main.c. Un archivo de cabecera más, llamado libreria.h, que contiene las librerías que usa el juego. También contiene: 1. Constantes. 2. Definición de la estructura de datos del jugador. 3. Diccionario de palabras predefinidas, almacenadas en un array con 96 palabras, con una longitud cada una de 4 a 8 caracteres.
FRANCISCO JAVIER GUILLÉN CARBALLO 1
CALCULADORA CIENTÍFICA, CURSO 2015/16
En total el trabajo consta:
Un archivo principal, ahorcado.c.
Dos archivos de cabecera, funciones.h y libreria.h. Un archivo objeto, ahorcado.o. Un archivo ejecutable, ahorcado.exe. Dos diagramas de flujo con Dia: o DiagramaFlijo01_main.dia o DiagramaFlujo02_PideLetra Un documento word, Desarrollo del juego el ahorcado con C.docx.
Explicación paso a paso del diagrama de flujo del
desarrollo del algoritmo de la función PideLetra ().
Diagrama de flujo de la función PideLetra ()
1. La función recibe un parámetro:
a. Una cadena que contiene las letras ya usadas. 2. Crea la variable letra de tipo char, que guarda la tecla pulsada. 3. Crea las variables contador y existe_letra, ambas de tipo int. 4. Muestra un mensaje por pantalla. 5. Bucle ‘Repetir’ hasta la línea 6. Bucle ‘Repetir’ hasta la línea 8 7. Pide que pulse una letra y la guarda. 8. El 2º bucle ‘Repetir’ acaba cuando es una tecla válida. 9. Inicializa la variable existe_letra a 0.
FRANCISCO JAVIER GUILLÉN CARBALLO 2
CALCULADORA CIENTÍFICA, CURSO 2015/16
10. Una condición simple que evalúa si la tecla es distinta de ‘ESCAPE’ y
‘ESPACIO’. Si es distinta: 11. Recorre el bufer de letras usadas comprobando si la letra existe en el bufer. Si existe: 12. Cambia el valor de existe_letra. 13. Evalúa el valor de existe_letra, si no ha cambiado su valor original, significa que no existe la letra. 14. La almacena en el bufer. 15. El 1º bucle ‘Repetir’ acaba cuando el valor de existe_letra haya cambiado y la letra se haya almacenado. 16. Limpia el bufer de la entrada standard. 17. Termina la función retornando la letra pulsada.
Reglas y explicación del juego
Reglas
o El jugador tratará de adivinar una palabra oculta.
o La palabra oculta se escogerá aleatoriamente de un diccionario de 96 palabras, y éstas tendrán una longitud entre 4 y 8 caracteres. o El jugador tendrá 7 intentos para acertar letras. o Los intentos en que el jugador no acierte con la letra restarán oportunidades, y aparecerá un dibujo del ahorcado diferente, siguiendo el siguiente orden: Plataforma + cuerda. Plataforma + cuerda + cabeza. Plataforma + cuerda + cabeza + tronco. Plataforma + cuerda + cabeza + tronco + brazo derecho.
izquierdo. Plataforma + cuerda + cabeza + tronco + brazo derecho + brazo izquierdo + pie derecho. Plataforma + cuerda + cabeza + tronco + brazo derecho + brazo izquierdo + pie derecho + pie izquierdo. o La pantalla se actualizará en cada intento, mostrando los siguientes elementos: Nombre del jugador. El nombre del jugador tendrá una longitud máxima de 10 caracteres, sin espacios. Puntos actuales que tiene el jugador. Número de intentos que le quedan al jugador. Número de partidas acumuladas. Lista de letras que usa el jugador. Dibujo del jugador en la horca. Palabra oculta a adivinar, mostrando ‘?’ donde el jugador aún no ha acertado, y el carácter correspondiente donde si haya acertado ya. o El sistema de puntos será: 1. Si acierta la letra, suma 2 puntos. 2. Si falla la letra, resta 1 punto. 3. Si resuelve antes de gastar las oportunidades, suma 10 puntos. o Después de cada intento, el jugador tendrá la posibilidad de poder resolver la palabra directamente antes de agotar los intentos, o de terminar la partida. o Las partidas y puntos son acumulativos.
Breve explicación del uso del menú.
El juego se inicia con un menú con cuatro opciones:
FRANCISCO JAVIER GUILLÉN CARBALLO 4
CALCULADORA CIENTÍFICA, CURSO 2015/16
1. Mostrar las mejores puntuaciones.
2. Jugar partida. 3. Mostrar las reglas. 4. Salir del juego.
Con la opción 1, se muestran las 10 mejores puntuaciones de los mejores
jugadores, mostrándose en una lista:
a. Posición dentro de la lista.
b. Nombre del jugador. c. Puntuación del jugador. d. Fecha y hora en que se jugó la partida.
Con la opción 2, el jugador introduce su nombre, se inician todos los contadores
y a continuación se inicia la partida, que serán acumulativas (ver reglas arriba).
Con la opción 3, se mostrarán las reglas del juego en pantalla.
Con la opción 4, termina la partida y se cierra la aplicación.