Juego del Ahorcado

Noe_pucela
08 de Febrero del 2005
#include <stdio.h>
#include <conio.h>
#define enter 13
#define MAX 30
int codificacion(char palabra[MAX],char pb[MAX]);
void jugar(char palabra[MAX],char palabrap[MAX],int num);
void main()
{
char palabra[MAX],palabrab[MAX];
int i=0,c,num;
printf("nIntroduce la palabra:");
while((c=getch())!=enter)
{
palabra[i]=c;
putchar('*');
i++;
}
palabra[i]='';
printf("n");
num=codificacion(palabra,palabrab);
jugar(palabra,palabrab,num);
getch();
}
int codificacion(char palabra[MAX],char pb[MAX])
{
int i=0;
while(palabra[i]!='')
{
if(palabra[i]==' ')
{
pb[i]=' ';
}
else
{
pb[i]='_';
}
i++;
}
return i;
}
void jugar(char palabra[MAX],char palabrab[MAX],int num)
{
int i=0,k=0,j=0,cont=10,cont2=0,resp=0,resp2=1;
char letra;
while ((cont!=0)&&(cont2!=num))
{
for (k=0;k<num;k++)
{
printf ("%c ",palabrab[k]);
}
i=0;
printf ("nQuedan %d intentos",cont);
printf("nIntroduce una letra:");
scanf("%c",&letra);
fflush(stdin);
while ((letra!=palabra[i])&&(i<MAX))
{
i++;
resp=0;
}
if ((resp==0)&&(letra!=palabra[i]))
{
cont--;
switch(cont)
{
case 9:
gotoxy(3,79);
printf(" |n");
gotoxy(4,79);
printf(" |n");
gotoxy(5,79);
printf(" |n");
gotoxy(6,79);
printf(" |n");
gotoxy(7,79);
printf(" |n");
gotoxy(8,79);
printf(" |n");
gotoxy(9,79);
printf(" |n");
gotoxy(10,79);
printf(" |n");
gotoxy(11,79);
printf(" |n");
gotoxy(11,79);
printf("_|__n");
break;
case 8:
printf(" ____________n");
gotoxy(3,79);
printf(" |n");
gotoxy(4,79);
printf(" |n");
gotoxy(5,79);
printf(" |n");
gotoxy(6,79);
printf(" |n");
gotoxy(7,79);
printf(" |n");
gotoxy(8,79);
printf(" |n");
gotoxy(9,79);
printf(" |n");
gotoxy(10,79);
printf(" |n");
gotoxy(11,79);
printf(" |n");
gotoxy(11,79);
printf("_|__n");
break;
case 7:
printf(" ____________n");
gotoxy(3,79);
printf(" | |n");
gotoxy(4,79);
printf(" | |n");
gotoxy(5,79);
printf(" |n");
gotoxy(6,79);
printf(" |n");
gotoxy(7,79);
printf(" |n");
gotoxy(8,79);
printf(" |n");
gotoxy(9,79);
printf(" |n");
gotoxy(10,79);
printf(" |n");
gotoxy(11,79);
printf(" |n");
gotoxy(11,79);
printf("_|__n");
break;
case 6:
printf(" ____________n");
gotoxy(3,79);
printf(" | |n");
gotoxy(4,79);
printf(" | |n");
gotoxy(5,79);
printf(" | on");
gotoxy(6,79);
printf(" |n");
gotoxy(7,79);
printf(" |n");
gotoxy(8,79);
printf(" |n");
gotoxy(9,79);
printf(" |n");
gotoxy(10,79);
printf(" |n");
gotoxy(11,79);
printf(" |n");
gotoxy(11,79);
printf("_|__n");
break;
case 5:
printf(" ____________n");
gotoxy(3,79);
printf(" | |n");
gotoxy(4,79);
printf(" | |n");
gotoxy(5,79);
printf(" | on");
gotoxy(6,79);
printf(" | |n");
gotoxy(7,79);
printf(" |n");
gotoxy(8,79);
printf(" |n");
gotoxy(9,79);
printf(" |n");
gotoxy(10,79);
printf(" |n");
gotoxy(11,79);
printf(" |n");
gotoxy(11,79);
printf("_|__n");
break;
case 4:
printf(" ____________n");
gotoxy(3,79);
printf(" | |n");
gotoxy(4,79);
printf(" | |n");
gotoxy(5,79);
printf(" | __on");
gotoxy(6,79);
printf(" | |n");
gotoxy(7,79);
printf(" |n");
gotoxy(8,79);
printf(" |n");
gotoxy(9,79);
printf(" |n");
gotoxy(10,79);
printf(" |n");
gotoxy(11,79);
printf(" |n");
gotoxy(11,79);
printf("_|__n");
break;
case 3:
printf(" ____________n");
gotoxy(3,79);
printf(" | |n");
gotoxy(4,79);
printf(" | |n");
gotoxy(5,79);
printf(" | __o__n");
gotoxy(6,79);
printf(" | |n");
gotoxy(7,79);
printf(" |n");
gotoxy(8,79);
printf(" |n");
gotoxy(9,79);
printf(" |n");
gotoxy(10,79);
printf(" |n");
gotoxy(11,79);
printf(" |n");
gotoxy(11,79);
printf("_|__n");
break;
case 2:
printf(" ____________n");
gotoxy(3,79);
printf(" | |n");
gotoxy(4,79);
printf(" | |n");
gotoxy(5,79);
printf(" | __o__n");
gotoxy(6,79);
printf(" | |n");
gotoxy(7,79);
printf(" | _/n");
gotoxy(8,79);
printf(" |n");
gotoxy(9,79);
printf(" |n");
gotoxy(10,79);
printf(" |n");
gotoxy(11,79);
printf(" |n");
gotoxy(11,79);
printf("_|__n");
break;
case 1:
printf(" ____________n");
gotoxy(3,79);
printf(" | |n");
gotoxy(4,79);
printf(" | |n");
gotoxy(5,79);
printf(" | __o__n");
gotoxy(6,79);
printf(" | |n");
gotoxy(7,79);
printf(" | _/ \_n");
gotoxy(8,79);
printf(" |n");
gotoxy(9,79);
printf(" |n");
gotoxy(10,79);
printf(" |n");
gotoxy(11,79);
printf(" |n");
gotoxy(11,79);
printf("_|__n");
break;
}
}
if (letra==palabra[i])
{
resp=1;
for (k=0;k<num;k++)
{
if (palabra[k]==letra)
{
palabrab[k]=letra;
}
}
cont2++;
}
resp2 = 1;
for (j=0;j<num;j++)
{
if(palabra[j] != palabrab[j])
{
resp2=0;
}
}
if (resp2 == 1)
cont=0;

}

if (resp2==1)
{
printf ("nEnhorabuena! La palabra es: ");
puts(palabra);
printf("n");
}
else
{
printf ("nLo siento! La palabra era: ");
puts(palabra);
printf("n");
}

}
si alguien le quiere que le coja y si podeis mejorarlo un poco xa q salga con colores lo aceis y me lo volveis a enviar. Espero q os sirva