#include<stdio.h>
#include<string.h>
#include<time.h>
#include<stdlib.h>
char palavraSecreta[20];
char chutes [26];
int chutesdados=0;
void abertura ()
{
printf("********************\n");
printf(" * Jogo de Forca * \n");
printf("********************\n\n");
}
void chuta ()
{
char chute;
scanf(" %c",&chute);
chutes[chutesdados]=chute;
chutesdados++;
}
int jaChutou (char letra )
{
int achou = 0;
int j;
for (j=0; j<chutesdados; j++)
{
if (chutes[j]==letra)
{
achou = 1;
break;
}
}
return achou;
}
void desenhaForca ()
{
int i;
for (i=0 ; i<strlen(palavraSecreta) ; i++)
{
int achou = jaChutou(palavraSecreta[i] );
if (achou)
{
printf("%c",palavraSecreta[i]);
}
else
{
printf(" _ ");
}
}
printf("\n");
}
void escolhePalavra()
{
FILE* f;
f = fopen("palavras.txt" , "r");
int qtddepalavras;
fscanf(f,"%d" , &qtddepalavras);
srand(time(0));
int randomico = rand() % qtddepalavras;
int i;
for (i=0;i<=randomico;i++)
{
fscanf(f,"%s",palavraSecreta);
}
fclose(f);
}
int acertou()
{
int i;
for (i=0;i<strlen(palavraSecreta);i++)
{
if(!jaChutou(palavraSecreta[i]))
{
return 0;
}
}
return 1;
}
int enforcou()
{
int i;
int erros =0;
for (i=0;i<chutesdados;i++)
{
int existe=0;
int j;
for (j=0;j<strlen(palavraSecreta);j++)
{
if (chutes[i]==palavraSecreta[j])
{
existe = 1;
break;
}
}
if (!existe) erros++;
}
return erros>=5;
}
int main()
{
escolhePalavra( );
abertura();
do
{
int i;
int j;
desenhaForca();
chuta();
}
while (!acertou()&&!enforcou());
return 0;
}