miércoles, 29 de julio de 2015

Juego del ahorcado. Parte III.

Ahora vamos a ver el código de la primera versión (muy muy muy mejorable). En las próximas versiones me gustaría optimizar el código y realizar todas las mejoras que se nos ocurran.
 
La función Generar_Palabra:

 
Esta es la primera versión y he preferido hacerlo lo más sencillo posible así que introducimos ya la palabra fija por código.


La función Pinta_Tablero:

Esta función pinta las vidas restantes y la palabra que estamos averiguando, las letras que no hayamos averiguado las coloca como guiones bajos.


La función Procesa_Entrada:


La función para procesar cada letra que introducimos se encarga de ver si esa letra pertenece a la palabra a adivinar. Si no está en la palabra, resta una vida y si aún quedan vidas restantes devuelve "false" (es decir, avisa de que no ha terminado el juego), en cambio si se han terminado las vidas, devuelve "true" indicando que el juego ha terminado. Si la letra está incluida en la palabra y todavía no está averiguada, la sustituye en el array que la almacena y comprueba si ha terminado, si la palabra está completa indica que el juego ha terminado devolviendo "true".


Función main:

En esta primera parte de la función creamos e inicializamos todas las variables. En el caso de la palabra resuelta (donde se irán guardando las letras que vayamos acertando) es un array fijo de tamaño 50 (predefinido en una constante) que inicializamos primero a "1". Después se vuelve a incializar a "0" sólo las posiciones que serán ocupadas por la palabra a adivinar, así sabemos si es un hueco vacío o es una posición que no se debe utilizar (una pista, esto es muy muy mejorable).


En la segunda parte tenemos un bucle do-while que se ejecuta hasta que el jugador decide salir (introduciendo "0") o cuando termina la partida.

Y ahora unos pantallazos de cómo queda el juego (también muy mejorable):




lunes, 27 de julio de 2015

Juego del ahorcado. Parte II.

En este post voy a exponer el primer boceto de la estructura del programa función a función.

Función Genera_Palabra:
Esta función generará una palabra para que el usuario la averigue. Esta función será la que más se modifique según vayamos generando versiones del programa.

Función Pinta_Tablero:
Al ser una aplicación de consola, esta función será la encargada de limpiar la pantalla y pintar el tablero cada vez que la invoquemos.

Función Procesa_Entrada:
Coge la letra que ha seleccionado el usuario y procesa si es una letra válida o no. Si se ha completado la palabra, lo indicará y también notificará cuando el usuario decida dejar de jugar.

Función Main:
Será la función principal del programa e irá llamando al resto de funciones.

Ya con la idea general, se pueden ir desarrollando más en concreto cada una de las funciones.

domingo, 26 de julio de 2015

Cambio de Rumbo







En vista del nuevo cambio de política de Microsoft en cuanto a licencias, voy a cambiar y a recomendar el Visual Studio Community 2015, de hecho, es el que yo estoy utilizando tanto para C++ como para C#/.NET.