PLE:Unidad4Ejercicio13

/* Programa:        Unidad4Ejercicio13.cpp Fecha:           10/01/2006 Descripción:     Juego del ahorcado. const int filas=7,cols=8; const int max_err=8;
 * 1) include 
 * 2) include 
 * 3) include 
 * 4) include 
 * 1) include 

int existe_letra(char palabra[], char c, char mascara[]); void dibuja(char ahorcado[filas][cols],char mascara[],int num_err);

void main {       char ahorcado[filas][cols]= {"", "|",                                    "|",                                     "|",                                     "|",                                     "|",                                     "======="};	char palabra[80]; // palabra oculta char mascara[80]; // Mascara char c; // Caracter leido int i, num_err=0, acertada=0 ; // contador, numero erroes, palabra acertada // Pedimos la palabra a buscar cout << endl << "Introduzca uña palabra: "; gets(palabra); // Rellenamos la mascara for(i = 0; i < strlen(palabra); i++) mascara[i] = '-'; mascara[i]='\0'; // Dibujamos la horca dibuja(ahorcado,mascara,num_err); // Bucle de juego while(num_err < max_err && !acertada) {               cout << "Introduzca una letra "; c = getch; if(!existe_letra(palabra,c,mascara)) num_err++; else acertada = strcmp(palabra,mascara)==0; dibuja(ahorcado,mascara,num_err); }       if(acertada) cout << endl << "¡ ENHORABUENA !" << endl << "Ha ganado ...."; else cout << endl << "¡ LO SIENTO !" << endl << "Ha perdido ...."; getch; } //fin programa

int existe_letra(char palabra[], char c, char mascara[]) {       int i, existe_caracter=0; for(i=0; i < strlen(palabra); i++) {               if(c == palabra[i]) {                       mascara[i]=c; existe_caracter = 1; }       }        return existe_caracter; }

void dibuja(char ahorcado[7][8],char mascara[],int num_err) {       char fallo[8][8]={"______ ", "|   | ",                          "|    O ", "|   |",                          "|   -|",                          "|   -|-",                          "|   / ",                          "|   / \\"};        int i;        if(num_err==1) // Mastil strcpy(ahorcado[0],fallo[0]); else if(num_err==2) // Soga strcpy(ahorcado[1],fallo[1]); else if(num_err==3) // cabeza strcpy(ahorcado[2],fallo[2]); else if(num_err==4) // tronco strcpy(ahorcado[3],fallo[3]); else if(num_err==5) // Brazo Izq. strcpy(ahorcado[3],fallo[4]); else if(num_err==6) // Brazos strcpy(ahorcado[3],fallo[5]); else if(num_err==7) // Pierna izq. strcpy(ahorcado[4],fallo[6]); else if(num_err==8) // piernas strcpy(ahorcado[4],fallo[7]); clrscr; // Dibujamos el ahorcado for(i=0; i < filas; i++) cout << ahorcado[i] << endl; cout << endl << "Numero de errores = " << num_err << endl; cout << "Palabra = " << mascara << endl; }