Codeme

Bem Vindo ao CODME
Cadastre-se agora para obter acesso a todos os nossos recursos. Uma vez cadastrado e logado, você será capaz de criar tópicos, postar respostas a tópicos já existentes, a reputação de seus companheiros, começar seu próprio mensageiro privado, atualizações pós status, gerenciar seu perfil e muito mais. Esta mensagem será removido depois de ter cadastrado.
Entrar na Conta Criar uma conta


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

#1 Jogo da Forca em Sex Nov 01, 2013 4:06 am

Admin

avatar

Admin

Jogo da Forca em c++.

Código:
# 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;
 
    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 CHAVE: ");
    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[i]==' ') {
          achou[i]=' ';
          pontos++;
      }
      else {
          palavra[i]=toupper(palavra[i]);
          achou[i]='_';
      }
    } 
    for (i=0; i<20; i++) {
      arquivo[i]=' ';
    }
    for (i=0; i<6; i++) {
      corpo[i]=' ';
    }
    for (i=0; jogador[i]!='\0'; i++) {
      jogador[i]=toupper(jogador[i]);
    }
    for (i=0; dica[i]!='\0'; i++) {
      dica[i]=toupper(dica[i]);
    }
   
    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[i]) {
                  achou[i]=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[i]));
      } 
      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[i]) {
        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[i]);
    }
}

Ver perfil do usuário http://codme.umforum.net

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]


Permissão deste fórum:
Você não pode responder aos tópicos neste fórum