Jogo da Forca 1.0 em C++
\/ CODE \/
# include <stdio.h># include <stdlib.h>
# include <conio.h>
# include <string.h>
# include <ctype.h>
char letras_usadas (char arquivo[20], int i_arquivo);
void mostra_forca (char corpo[20], int credito);
void mostra_achou (char achou[20], int tam_palavra);
int main () {
char jogador[20], palavra[20], dica[20], corpo[20], achou[20], arquivo[20], aux_letra[20], letra;
int creditos, pontos, flag, tam_palavra, tam_letra, i_arquivo, i;
/*
Índice de Variáveis
jogador: Nome do participante
palavra: Palavra chave do jogo
dica: Dica relacionada a palavra
corpo: Recebe as partes do corpo do boneco
achou: Letras acertadas pelo jogador
arquivo: Letras usadas pelo jogador
aux_letra: Válida se a letra que o jogador usou é válida na rodada
letra: Letra que o jogador usou na rodada
créditos: Inicia-se com 6, se igual a 0 índica que o jogador perdeu o jogo
pontos: Soma as letras que já foram acertadas
flag: Se flag igual a 1 índica que jogador errou ou a letra digitada não é válida, se 0 índica que acertou
tam_palavra: Tamanho da Palavra
tam_letra: Tamanho da Letra
i_arquivo: índice do arquivo
i: contador
*/
// Apresentação
printf("\n\n");
printf(" XXXXX XXXXX XXXX XXXXX XXXX XXXXX \n");
printf(" XX XX XX XX XX XX XX X XX XX \n");
printf(" XX XX XX XX XX XX XX X XX XX \n");
printf(" XX XX XX XX XX XX XX X XXXXXXX \n");
printf(" XX XX XX XX XX XX XX XX X XX XX \n");
printf(" X XX XX XX XX X XX XX XX X XX XX \n");
printf(" XXXX XXXXX XXXX XXXXX XXXX XX XX \n");
printf("\n");
printf(" XXXXXXX XXXXX XXXXX XXXX XXXXX \n");
printf(" XX XX XX XX X XX XX XX \n");
printf(" XX XX XX XX X XX XX XX \n");
printf(" XXXXXXX XX XX XXXXX XX XXXXXXX \n");
printf(" XX XX XX XX X XX XX XX \n");
printf(" XX XX XX XX X XX XX XX \n");
printf(" XX XXXXX XX X XXXX XX XX \n");
printf("\n\n");
printf("\n\n");
printf (" START");
getch ();
system ("cls");
printf ("JOGO DA FORCA 1.0\n\n");
printf("\n\n");
printf("\n\n");
printf (" NOME DO JOGADOR: ");
gets (jogador);
printf("\n\n");
printf (" PE%cA PARA ALGUEM DIGITAR OS SEGUINTES ITENS ABAIXO!", 128);
getch ();
printf("\n\n\n");
printf (" PALAVRA Para Adivinhação: ");
gets (palavra);
printf("\n\n");
printf (" DICA: ");
gets (dica);
printf("\n\n");
// Reset de variáveis
i_arquivo=0;
creditos=6;
pontos=0;
tam_palavra=strlen(palavra);
for (i=0; i<tam_palavra; i++) {
if (palavra==' ') {
achou=' ';
pontos++;
}
else {
palavra=toupper(palavra);
achou='_';
}
}
for (i=0; i<20; i++) {
arquivo=' ';
}
for (i=0; i<6; i++) {
corpo=' ';
}
for (i=0; jogador!='\0'; i++) {
jogador=toupper(jogador);
}
for (i=0; dica!='\0'; i++) {
dica=toupper(dica);
}
system ("cls");
printf ("JOGO DA FORCA 1.0\n\n");
mostra_forca(corpo, creditos);
printf ("\n\n");
mostra_achou(achou, tam_palavra);
printf ("\n\n");
puts (dica);
printf ("\n");
while ((creditos>0)&&(pontos<tam_palavra)) {
flag=0;
printf ("LETRA: ");
gets (aux_letra);
tam_letra=strlen(aux_letra);
if (tam_letra!=1) {
printf ("DIGITE \"UMA\" LETRA!\n");
getch ();
flag=1;
}
else {
letra=toupper(aux_letra[0]);
arquivo[i_arquivo]=letra;
if (letras_usadas (arquivo, i_arquivo)) {
printf ("ESTA LETRA JA FOI!");
getch ();
arquivo[i_arquivo]=' ';
flag=1;
}
else {
arquivo[i_arquivo]=letra;
i_arquivo++;
for (i=0; i<tam_palavra; i++) {
if (letra==palavra) {
achou=letra;
flag=1;
pontos++;
}
}
}
}
if (flag==0) {
printf ("ESTA LETRA NAO TEM!", jogador);
getch ();
creditos--;
switch (creditos) {
case 0: corpo[0]='\\'; break;
case 1: corpo[1]='/'; break;
case 2: corpo[2]='-'; break;
case 3: corpo[3]='-'; break;
case 4: corpo[4]='|'; break;
case 5: corpo[5]='O'; break;
}
}
//Status do jogo
system ("cls");
printf ("JOGO DA FORCA 1.0\n\n");
mostra_forca(corpo, creditos);
printf ("\n\n");
mostra_achou(achou, tam_palavra);
printf ("\n\n");
puts (dica);
printf ("\n");
printf ("LETRAS JA USADAS: ");
for (i=0; i<=i_arquivo; i++) {
printf ("%c ", toupper(arquivo));
}
printf ("\n\n");
//Resultado Final
if (pontos==tam_palavra) {
printf ("%s, VOCE GANHOU!\n", jogador);
}
if (creditos==0) {
printf ("%s, VOCE PERDEU!\n", jogador);
printf ("A PALAVRA ERA ");
puts (palavra);
printf ("\n");
}
}
getch ();
}
char letras_usadas (char arquivo[20], int i_arquivo) {
int i;
for (i=0; i<i_arquivo; i++) {
if (arquivo[i_arquivo]==arquivo) {
return (true);
}
}
return (false);
}
void mostra_forca (char corpo[20], int credito) {
printf (" _ _ \n");
printf (" | |\n");
printf (" | %c\n", corpo[5]);
printf (" | %c", corpo[3]);
printf ("%c", corpo[4]);
printf ("%c \n", corpo[2]);
printf (" | %c", corpo[1]);
printf (" %c \n", corpo[0]);
printf ("_|_ \n");
}
void mostra_achou (char achou[20], int tam_palavra) {
int i;
for (i=0; i<tam_palavra; i++) {
printf ("%c ", achou);
}
}
Jogo Para Quem n Tem net boa pode passa horas de diversão
Creditos
90% Robson47
10% Meu Cunhado - Por Adicionar o Numero da Versão