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;
}
Compartilhando a tela do Computador no Celular via Deskreen
Como Configurar um Túnel SSH Reverso para Acessar Sua Máquina Local a Partir de uma Máquina Remota
Configuração para desligamento automatizado de Computadores em um Ambiente Comercial
Como renomear arquivos de letras maiúsculas para minúsculas
Imprimindo no formato livreto no Linux
Vim - incrementando números em substituição
Efeito "livro" em arquivos PDF
Como resolver o erro no CUPS: Unable to get list of printer drivers
É cada coisa que me aparece! - não é só 3% (3)
Melhorando a precisão de valores flutuantes em python[AJUDA] (5)
[Python] Automação de scan de vulnerabilidades
[Python] Script para analise de superficie de ataque
[Shell Script] Novo script para redimensionar, rotacionar, converter e espelhar arquivos de imagem
[Shell Script] Iniciador de DOOM (DSDA-DOOM, Doom Retro ou Woof!)
[Shell Script] Script para adicionar bordas às imagens de uma pasta