Código:
#include <stdio.h> #include <conio.h> #include <stdlib.h> #include <string.h> #include <ctype.h> /*Libreria para usar el isalpha (verifica si el valor ingresado es alabetico) me la enseño el pato*/ char palabras[20][20]; /*Arreglo donde guardo los nombres de las categorias*/ char palabra[20],respuesta[20]; /*Arreglo donde guardo las respuestas*/ char letra,opc,catego; /*Variables*/ int i,j,y,elegida,longitud,opor,a; int presenta(void); int categoria(void); int elegir(int); int imprime(void); void main(void) { presenta(); do{ categoria(); clrscr(); switch(catego){ case '1': gotoxy(1,1);printf("Paises"); break; case '2': gotoxy(1,1);printf("Frutas"); break; case '3': gotoxy(1,1);printf("Animales"); break; } i=j=y=elegida=longitud=opor=a=0; /*Se inicializan las variables en cero*/ for(i=0;i<10;i++) { respuesta[i]=NULL; /*con este for reseteo el juego*/ } gotoxy(32,1); printf("<<<El Ahorcado v1.0>>>"); /*aqui se cargan los nombres de las categoria */ /*esta elige un numero aleatorio pa escoger una palabra*/ randomize(); j=random(9); /*esta elige una palabraale atorio*/ elegir(j); longitud=strlen(palabra); imprime(); do{ gotoxy(25,9); printf("ADIVINA LA PALABRA OCULTA"); gotoxy(15,14); printf("Ingresa una letra del Teclado: "); do{ letra=(getch()); }while(!isalpha(letra) ); gotoxy(10+opor*3,22); printf("%c",letra); gotoxy(25,15); printf("\n 15 Intentos Maximo *** Intento Numero %d",opor+1); for(i=0;i<longitud;i++) { if(letra==palabra[i]) { gotoxy(15+i*4+18,19); printf("%c",letra); respuesta[i]=letra; } } y=strcmp(palabra,respuesta); if(y==0){ gotoxy(32,23); printf("¡¡¡CORRECTO!!!"); } opor++; }while(opor<15 && y!=0); if(opor==15) { gotoxy(26,20); printf("Incorrecto, la palabra era: %s ",palabra); } gotoxy(28,25); printf("Desea Volver a Jugar (S/N)"); do{ opc=getch(); }while(opc!='s' && opc!='n'); }while(opc!='n'); presenta(); clrscr(); exit(1); return; } cargarpaises1() { strcpy(palabras[0],"chile"); strcpy(palabras[1],"china"); strcpy(palabras[2],"argentina"); strcpy(palabras[3],"colombia"); strcpy(palabras[4],"brasil"); strcpy(palabras[5],"inglaterra"); strcpy(palabras[6],"mexico"); strcpy(palabras[7],"japon"); strcpy(palabras[8],"peru"); strcpy(palabras[9],"tunez"); return 0; } elegir(int pal) { strcpy(palabra,palabras[pal]); return 0; } imprime() { for(i=1;i<=longitud;i++){ gotoxy(15+i*4+14,20);printf("_"); } return 0; } presenta() { } cargarfrutas2() { strcpy(palabras[0],"naranja"); strcpy(palabras[1],"limon"); strcpy(palabras[2],"manzana"); strcpy(palabras[3],"sandia"); strcpy(palabras[4],"cereza"); strcpy(palabras[5],"durazno"); strcpy(palabras[6],"platano"); strcpy(palabras[7],"frutilla"); strcpy(palabras[8],"mora"); strcpy(palabras[9],"melon"); return 0; } cargaranimales3() { strcpy(palabras[0],"perro"); strcpy(palabras[1],"gato"); strcpy(palabras[2],"jirafa"); strcpy(palabras[3],"vaca"); strcpy(palabras[4],"elefante"); strcpy(palabras[5],"leon"); strcpy(palabras[6],"cocodrilo"); strcpy(palabras[7],"tigre"); strcpy(palabras[8],"mono"); strcpy(palabras[9],"raton"); return 0; } categoria() { clrscr(); gotoxy(32,1); printf("***CATEGORIAS***"); gotoxy(30,5); printf("1.- Paises"); gotoxy(30,8); printf("2.- Frutas"); gotoxy(30,11); printf("3.- Animales"); gotoxy(31,15); printf("Elige una Opcion: "); do { catego=getch(); }while(catego!='1' && catego!='2' && catego!='3'); switch(catego){ case '1':cargarpaises1(); break; case '2':cargarfrutas2(); break; case '3':cargaranimales3(); break; } return 0; }