Código
#include <stdio.h> #include <string.h> #include "dibujos.h" #include <stdlib.h> #include <ctype.h> #define plb1 "alfajor" //palabras incognitas #define plb2 "cazador" #define plb3 "pulento" #define plb4 "maquina" #define plb5 "gozador" #define plb6 "chilito" #define plb7 "donador" #define plb8 "arrojar" #define plb9 "windiws" #define plb0 "ganador" void Seleccion_de_palabra (char *, int *); void Ingreso_de_letra(int *,char *, char *); void Verificador_de_letra(char *, char *, char *, char *, char *, char *, char *, int *, char *, char *); void Verificador_de_error(int *, char *, int *, char *, char *, char *, char *, char *, int *); void Verificador_de_termino(int *, char *, char *, int *); void Volver_a_jugar(char *); void Reinicio_de_var_importantes(char *, char *, int *, int *, char *, char *, char *, char *, char *, int *); int main (){ //funcion main ejecuta las demas funciones. Entrada nada retorno nada char plb[10]; //Variable la cual toma el valor de las palabras incognitas char progress [16]="_ _ _ _ _ _ _"; //variable la cual mostrara lo que lleva el jugador int vida=0; //variable que llevara el numero de vidas char again [3]="s"; //variable que hara reiniciar el juego int cont_1=0; //variable de contension para ver si la letra ingresada coincide con alguna letra de la palabra char cont_2 [10]="xxxxxxx"; //variable de contension que sirve para llevar una cuenta de las letras que ya se descubrieron int cont_3=0; //variable de contension que ayuda a salir de la iteracion de probar letras char letra [2]="a"; //variable que almacena la letra ingresada int num=0; //variable que elige la palabra que se usara char a[2]; //variables que almacenan letras erroneas char e[2]; char i[2]; char o[2]; char u[2]; int cont=0; //variable de contension que sirve para asgnar letras erroneas while (again [0]=='s'){ Seleccion_de_palabra(&plb[10], &num); while (cont_3==0){ Ingreso_de_letra(&vida, &progress[16], &letra[2]); Verificador_de_letra(&letra[2], &a[2], &e[2], &i[2], &o[2], &u[2], &progress[16], &cont_1, &cont_2[10], &plb[10]); Verificador_de_error(&cont_1, &letra[2], &vida, &a[2], &e[2], &i[2] , &o[2], &u[2], &cont); Verificador_de_termino(&vida, &plb[10], &cont_2[10], &cont_3); } Volver_a_jugar(&again[3]); Reinicio_de_var_importantes(&cont_2[10], &progress[16], &vida, &cont_3, &a[2], &e[2], &i[2] , &o[2], &u[2], &cont); } return 0; } void Seleccion_de_palabra (char *plb[10], int *num){ //en esta funcion se selecciona una palabra para ser ocupada.Entrada struct variables retorno nada if (*num==10){ *num=*num-10; } switch (*num){ case 0: *num++; break; case 1: *num++; break; case 2: *num++; break; case 3: *num++; break; case 4: *num++; break; case 5: *num++; break; case 6: *num++; break; case 7: *num++; break; case 8: *num++; break; case 9: *num++; break; } } void Ingreso_de_letra(int *vida,char *progress[16], char *letra[2]){ //en esta funcion se ingresa una letra intentando atinar a la palabra incognita .Entrada struct variables retorno nada TituloJuego(); switch (*vida){ case 0: SinAhorcado(); break; case 1: Cabeza(); break; case 2: Tronco(); break; case 3: BrazoIzquierdo(); break; case 4: BrazoDerecho(); break; case 5: PiernaIzquierda(); break; case 6: PiernaDerecha(); break; } do{ } } void Verificador_de_letra(char *letra[2], char *a[2], char *e[2], char *i[2], char *o[2], char *u[2], char *progress[16], int *cont_1, char *cont_2[10], char *plb[10]){ //en esta funcion se verifica la letra comparandola con las letras de la palabra incognita.Entrada struct variables retorno nada while (*letra[0]!=*a[0] && *letra[0]!=*e[0] && *letra[0]!=*i[0] && *letra[0]!=*o[0] && *letra[0]!=*u[0]){ if (*plb [0]==*letra[0]){ *progress [0]=*letra[0]; *cont_1=1; *cont_2 [0]='g'; } if (*plb [1]==*letra[0]){ *progress [2]=*letra[0]; *cont_1=1; *cont_2 [1]='a'; } if (*plb [2]==*letra[0]){ *progress [4]=*letra[0]; *cont_1=1; *cont_2 [2]='n'; } if (*plb [3]==*letra[0]){ *progress [6]=*letra[0]; *cont_1=1; *cont_2 [3]='a'; } if (*plb [4]==*letra[0]){ *progress [8]=*letra[0]; *cont_1=1; *cont_2 [4]='s'; } if (*plb [5]==*letra[0]){ *progress [10]=*letra[0]; *cont_1=1; *cont_2 [5]='t'; } if (*plb [6]==*letra[0]){ *progress [12]=*letra[0]; *cont_1=1; *cont_2 [6]='e'; } break; } } void Verificador_de_error(int *cont_1, char *letra[2], int *vida, char *a[2], char *e[2], char *i[2], char *o[2], char *u[2], int *cont){ //en esta funcion se verfica el error al ingresar la letra .Entrada struct variables retorno nada if (*cont_1==0){ while (*letra[0]!=*a[0] && *letra[0]!=*e[0] && *letra[0]!=*i[0] && *letra[0]!=*o[0] && *letra[0]!=*u[0]){ *vida++; break; } switch (*cont){ case 0: *a[0]=*letra[0]; *cont++; break; case 1: *e[0]=*letra[0]; *cont++; break; case 2: *i[0]=*letra[0]; *cont++; break; case 3: *o[0]=*letra[0]; *cont++; break; case 4: *u[0]=*letra[0]; *cont++; break; default: break; } } *cont_1=0; } void Verificador_de_termino(int *vida, char *plb[10], char *cont_2[10], int *cont_3){ //en esta funcion se decide si el jugador gano o perdio.Entrada struct variables retorno nada if (*vida==6){ *cont_3=1; TituloJuego(); MensajePerdiste(); } if (*cont_2 [0]=='g' && *cont_2 [1]=='a' && *cont_2 [2]=='n' && *cont_2 [3]=='a' && *cont_2 [4]=='s' && *cont_2 [5]=='t' && *cont_2 [6]=='e'){ *cont_3=1; TituloJuego(); MensajeGanaste(); } } void Volver_a_jugar(char *again[3]){ //en esta funcion se le da la opcion al usuario para volver a jugar.Entrada struct variables retorno nada } void Reinicio_de_var_importantes(char *cont_2[10], char *progress[16], int *vida, int *cont_3, char *a[2], char *e[2], char *i[2], char *o[2], char *u[2], int *cont){ //en esta funcion se reinicia los valores de algunas variables claves para el prgrama .Entrada struct variables retorno nada *cont_3=0; *vida=0; *cont_2 [0]='x'; *cont_2 [1]='x'; *cont_2 [2]='x'; *cont_2 [3]='x'; *cont_2 [4]='x'; *cont_2 [5]='x'; *cont_2 [6]='x'; *progress [0]='_'; *progress [2]='_'; *progress [4]='_'; *progress [6]='_'; *progress [8]='_'; *progress [10]='_'; *progress [12]='_'; *a[0]=' '; *e[0]=' '; *i[0]=' '; *o[0]=' '; *u[0]=' '; *cont=0; }
MOD: Etiqueta GeSHi.