Enviado em 09/03/2021 - 10:10h
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <string.h>
#include <ctype.h>
#include <stdbool.h>
char banco[30][30]=
{
"notebook",
"smartphone",
"pendrive",
"computador",
"seguranca"
};
char wordSorteada[30] = {0};
char wordDigitada[30] = {0};
void limpaWord()
{
const size_t tam = strlen(wordSorteada);
for(int r = 0; r < tam; r++)
{
wordDigitada[r] = '_';
}
}
void imprimirForca(int erro)
{
switch(erro)
{
case 0:
printf("\n-------\n");
printf("| \n");
printf("| \n");
printf("| \n");
break;
case 1:
printf("\n-------\n");
printf("| o\n");
printf("| \n");
printf("| \n");
break;
case 2:
printf("\n-------\n");
printf("| o\n");
printf("| / \n");
printf("| \n");
break;
case 3:
printf("\n-------\n");
printf("| o\n");
printf("| /| \n");
printf("| \n");
break;
case 4:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| \n");
break;
case 5:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| / \n");
break;
default:
printf("\n-------\n");
printf("| o\n");
printf("| /|\\ \n");
printf("| / \\ \n");
}
}
bool verifyLetter(char letra, char vetor[26])
{
const size_t tam2 = strlen(vetor);
for(int i = 0; i < tam2; i++)
{
if(letra == vetor[i])
{
return true;
}
}
return false;
}
void alocandoLetra(char letra)
{
const size_t tam = strlen(wordSorteada);
for(int i = 0; i < tam; i++)
{
if(wordSorteada[i] == letra)
{
wordDigitada[i] = letra;
}
}
}
void letrasDigitadas(char let[26], int tam)
{
printf("\nJá fora digitadas: ");
const size_t len = strlen(let);
for(int r = 0; r < len; r++)
{
printf("%c,", let[r]);
}
printf("\n");
}
bool wordCompleta()
{
const size_t tam = strlen(wordSorteada);
for(int r=0;r<tam;r++)
{
if(wordDigitada[r] == '_')
{
return false;
}
}
return true;
}
int main()
{
srand(time(NULL));
int palavra = rand() % 5;
strcpy(wordSorteada, banco[palavra]);
limpaWord();
int contLetras = 0;
int contaErros = 0;
char letraDig[26] = {0};
char letter;
while(contaErros<=6)
{
const size_t tam = strlen(wordSorteada);
imprimirForca(contaErros);
printf("\n%zu letras\n%s", tam, wordDigitada);
letrasDigitadas(letraDig, contLetras);
printf("\n\nTentativas restantes: %d\n", 6-contaErros);
printf("\n\n");
printf("Digite uma letra: \n");
scanf("%c", &letter);
fflush(stdin);
getchar();
if(strchr(letraDig, letter)!=NULL)//verifyLetter(letter, letraDig)
{
printf("\nEssa letra já foi digitada\nTente novament\n");
} else
{
letraDig[contLetras] = letter;
contLetras++;
if(strchr(wordSorteada, letter)!=NULL)//verifyLetter(letter, wordSorteada)
{
alocandoLetra(letter);
} else
{
printf("Letra incorreta\nTente novamente\n\n");
contaErros++;
}
}
if(contaErros>5)
{
setenv("PATH", "/bin:/usr/bin", 1);
printf("Game Over for you");
break;
} else if(wordCompleta())
{
printf("YOU WIN");
break;
}
}
return 0;
}
Como escolher o melhor escalonador de CPU para melhorar o desempenho da máquina
Curiosidade sobre DOOM Guy e Isabelle de Animal Crossing
Inicializando servidor Ubuntu na AWS e rodando apache em Container
Instalando TeamViewer no Debian 12
Conheça o Octopi, outro frontend para o Pacman com acesso ao ARU (Arch Linux e derivados)
Terminal transparente no Debian 12 com interface i3wm usando Xfce4-Terminal e Compton
Ubuntu simplesmente morreu (8)
Como colocar uma assinatura digital em um código compilado ! (2)
Como traduzir todo o nitrogen para BR? (1)
Eu estou com problemas para usar o QBASIC no Dosbox X (1)
Como eu posso logar noutra distro sem subir o sistema? [RESOLVIDO] (5)