Unidad de Aprendizaje 2: Diseo de videojuegos Prctica 4: Elaborar el juego del ahorcado con mtodo al aleatorio. Nmero: Propsito de la prctica: Elabora una aplicacin de videojuego genere un nmero al azar con mtodo al aleatorio, para que con ese nmero se seleccione una palabra de entre las predefinidas y sea adivinada por el usuario. Mdulo: Programacin De Videojuegos [POVI-02] Grupo: 604 Informtica Alumno: Manuel Alexis Hurtado Morales P.S.P: Ing. Miguel ngel Ramos Grande Fecha: 16 de mayo del 2014 Matrcula: 111650246-7 Comentarios: Observaciones:
Direccin del blog: http://programaciondevideojuegosalexis.blogspot.mx/ Prctica #4 El Ahorcado #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> #include <ctype.h> #include <allegro.h> #define NUMPALABRAS 10 #define MAXINTENTOS 5 //Declaracin de variables char palabra[80], intento[80], letras[80]; int opor; char letra; int i; int acertado; char ficticia[2]; char mensaje[80]; char datosPalabras [NUMPALABRAS][80]= //Palabras a utilizar en este juego { "evacuacion","historia","Mexico","programacion", "Brasil","mochila","videojuego","informatica", "aplicacion","conalep" }; //primer fallo void PrimerFallo() { //formacin de una lnea line(screen,20,180,120,180, palette_color[1]); } //Segundo fallo void SegundoFallo() { //formacion de otra linea line(screen,100,180,100,125, palette_color[1]); } //tercer fallo void TercerFallo() { //Se forma otra linea line(screen,100,125,70,125, palette_color[1]); } //cuarto fallo void CuartoFallo() { //se forma otra linea line(screen,70,125,70,130, palette_color[1]); } //ltimo fallo void QuintoFallo() { int j; //se forma el mueco completo //cabeza circle(screen,70,138,8, palette_color[3]); //Tronco line(screen,70,146,70,160, palette_color[3]); //Brazos, derecho e izquierdo line(screen,50,150,90,150, palette_color[3]); //Pierna derecha line(screen,70,160,60,175, palette_color[3]); //Pierna izquierda line(screen,70,160,80,175, palette_color[3]); } int main() { allegro_init(); //Instalamos el teclado install_keyboard(); if (set_gfx_mode(GFX_SAFE,450,250,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; } srand(time(0)); //Copiamos la palabra strcpy(palabra, datosPalabras[ rand()%(NUMPALABRAS+1)]); //Oportunidades es igual al mximo de intentos opor = MAXINTENTOS; //copiamos letra por letra strcpy(letras,""); for (i=1; i<=strlen(palabra); i++) if (palabra[i-1]==' ' ) intento[i-1]=' '; else intento[i-1]='_'; intento[i]='\0'; do { clear_bitmap(screen); if (opor <=4) PrimerFallo(); if (opor <=3) SegundoFallo(); if (opor <=2) TercerFallo(); if (opor <=1) CuartoFallo(); textprintf(screen, font, 80,18, palette_color[3], "Te faltan %d intentos", opor); textprintf(screen, font, 80,32, palette_color[15], intento, opor); textprintf(screen, font, 20,72, palette_color[12], "Palabras que has intentado: %s", letras); textprintf(screen, font, 20,60, palette_color[6], "Escribe la letra?"); letra = readkey()&0xff; strcpy (ficticia,"a"); ficticia[0]= letra; strcat (letras, ficticia); acertado = 0; for (i=1; i<=strlen(palabra); i++) if(tolower(letra)== tolower(palabra[i-1])) { intento[i-1]= palabra[i-1]; acertado = 1; } if (! acertado ) opor --; } while ( strcmp (intento,palabra) && (opor>0)); //Si acertas la palabra, se te felicitar if ( strcmp (intento,palabra)==0) textprintf(screen, font, 100,200, palette_color[15], "CORRECTO!!!"); //Si no se te mostrar la palabra que era else { textprintf(screen, font, 20,200, palette_color[80], "La palabra era: %s", palabra); QuintoFallo(); } readkey(); return 0; } END_OF_MAIN();
Inicio del juego: . Si al final de los 5 intentos no acertas, se te mostrara el tradicional muequito del ahorcado y la palabra que er:
Si acertas, se te felicitar:
En esta prctica realizamos el juego del ahorcado, este juego es muy conocido, en el que realizamos solo permitimos 5 intentos malos o fallidos, utilizamos varias funciones, como lo son; Strcpy (copia letras), if (si), else (si no), do (hacer), while (mientras), si acertas se te felicita, pero si fallas se te muestra el tpico dibujo y la
Palabra que er. Aprendi a utilizar el strcpy y reforc conocimientos.
Se me dificulto el crear cada falla, y modificar ciertas acciones, como el agregar o quitar e incluso modificar la serie de palabras que contiene el juego.