COLEGIO DE EDUCACION PROFESIONAL TECNICA DEL ESTADO DE VERACRUZ
PLANTEL Lic. Jess Reyes Heroles #165
UNIDAD: 1
NOMBRE DEL ALUMNO: MATRCULA: ROSA VICTORIA CRUZ ALBERTO 111650147- 7
DOCENTE: ING. MIGUEL ANGEL RAMOS GRANDE
MDULO: PROGRAMACION DE VIDEOJUEGOS
CARRERA: GRUPO: SEMESTRE: Profesional Tcnico en Informtica 603 6
TITULO DE LA INVESTIGACIN O TAREA:
PRACTICA NUMERO 4
Elaborar el juego del ahorcado con mtodo al aleatorio.
OBSERVACIONES:
CALIFICACIN #include <stdio.h> /* Rutinas est?ndar, como "printf" */ #include <string.h> /* Manejo de cadenas */ #include <stdlib.h> /* Para "rand" */ #include <time.h> /* Para "time" */ #include <ctype.h> /* Para "tolower" */ #include <allegro.h>
#define NUMPALABRAS 10 #define MAXINTENTOS 5 /* No deber?amos modificar el n?mero m?ximo de intentos, porque vamos a dibujar 5 "cosas" cuando se equivoque" */
char palabra[80], intento[80], letras[80]; /* La palabra a adivinar, la que */ /* el jugador 2 va consiguiendo y */ /* las letras que se han probado */
int oportunidades; /* El n?mero de intentos permitido */ char letra; /* Cada letra que prueba el jug. dos */ int i; /* Para mirar cada letra, con "for" */ int acertado; /* Si ha acertado alguna letra */ char ficticia[2]; /* Aux, para a?adir letra a cadena */
char mensaje[80]; /* Los letreros que mostrar en pantalla */
/* Intentamos entrar a modo grafico */ if (set_gfx_mode(GFX_SAFE,320,200,0,0)!=0){ set_gfx_mode(GFX_TEXT,0,0,0,0); allegro_message( "Incapaz de entrar a modo grafico\n%s\n", allegro_error); return 1; }
/* Si todo ha ido bien: empezamos */ srand(time(0)); /* Valores iniciales */ strcpy(palabra, datosPalabras[ rand()%(NUMPALABRAS+1)]); oportunidades = MAXINTENTOS;
strcpy(letras,"");
/* Relleno con _ y " " lo que ve Jug. 2 */ for (i=1; i<=strlen(palabra); i++) if (palabra[i-1]==' ' ) intento[i-1]=' '; else intento[i-1]='_'; intento[i]='\0'; /* Y aseguro que termine correctamente */
/* Parte repetitiva: */ do { clear_bitmap(screen);
/* Dibujo lo que corresponde del "patibulo" */ if (oportunidades <=4) PrimerFallo(); if (oportunidades <=3) SegundoFallo(); if (oportunidades <=2) TercerFallo(); if (oportunidades <=1) CuartoFallo();
/* Y le pido otra letra */ textprintf(screen, font, 20,60, palette_color[14], "Que letra?");
letra = readkey()&0xff;
/* A?ado esa letra a las tecleadas*/ strcpy (ficticia,"a"); /* Usando una cadena de texto aux */ ficticia[0]= letra; strcat (letras, ficticia);
acertado = 0; /* Miro a ver si ha acertado */ for (i=1; i<=strlen(palabra); i++) if(tolower(letra)== tolower(palabra[i-1])) { intento[i-1]= palabra[i-1]; acertado = 1; }
if (! acertado ) /* Si fall?, le queda un intento menos */ oportunidades --;
} while ( strcmp (intento,palabra) /* Hasta que acierte */ && (oportunidades>0)); /* o gaste sus oportunidades */
/* Termino con la "macro" que me pide Allegro */ END_OF_MAIN();
Para realizar la prctica del ahorcado me apoye con cdigos que investigue en internet, como tambin los fui modificando, para que el programa lo ejecutara correctamente, en la imagen siguiente se muestra como escrib las libreras que pertenecen al cdigo, como son el manejo de cadenas, como tambin declarar variables y asignarles su valor correspondiente, despus introduje las palabras que quiero que el usuario adivine como se muestra en la siguiente imagen:
Despus introduje la funcin void para cuando haya un error al adivinar la palabra se dibuje las partes del ahorcado. Despus escrib el cdigo para inicializar ALLEGRO y poder acceder al modo grafico como podemos ver el cdigo en las siguientes imgenes:
Este el cdigo para poder mostrar en pantalla cuantos intento te quedan despus de cada falla.
En esta imagen podemos ver el cdigo del juego donde va pidiendo una letra conforme va avanzando el juego hasta que terminen los intentos.
Con este cdigo podemos mandar al usuario que a fallado los intento que ha hecho, despus si no acert le dice que fall el juego o por el contrario lo felicita por a ver ganado el juego.
Depuse ya teniendo el cdigo correcto del juego, al momento de ejecutarlos es as como nos aparece. Tambin podemos observar que nos muestra las letras que llevamos intentadas en este caso son 4 y nos quedan tres intento.
Despus podemos ver que al presionar la letra (p) es una letra correcta ya que aparece en la letra que se quiere adivinar.
Al poner la letra (n) es una letra incorrecta, que solo nos quedan dos intento como se muestra en la siguiente imagen:
Y es as como fuimos realizando la prctica numero 4 acertando una palabra y nosotros como usuarios tenamos que adivinarla.