Ir ao conteúdo

Posts recomendados

Postado

Boa tarde pessoal, estou desenvolvendo um jogo da forca em C para a disciplina de algoritmos II na faculdade, porém estou com um problema que meu código só lê a primeira linha do arquivo. txt (o jogo não recebe a palavra e sim lê o arquivo para o jogador não saber qual é a palavra secreta). Poderiam me ajudar indicando como eu faria essa alteração? Abaixo o código:

 

<>

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#include <string.h>

#include <locale.h>


 

void main(){

 

    setlocale(LC_ALL, "portuguese");

    

    int numero, escolha;

    

    char tamanho, letra[25], silhueta[25]="_", quantidadelinha;

    

    int vida=6, x, i, pontos=0, linhasorteada, contador;

    

    char palavra[25];

 

    printf("\n\t JOGO DA FORCA\n");

    printf("\n 1 - comidas\n\n 2 - lugares\n\n 3 - animais\n\n 4 - extra\n\n ESCOLHA UMA CATEGORIA:");

    

    scanf("%d", &escolha);

    

    srand(time(NULL));

    

    linhasorteada = rand() % 10;

    linhasorteada ++;

    

    printf ("%d\n", linhasorteada);

    

    FILE *arquivo;

    

    

    switch(escolha){

    

        case 1:

            arquivo = fopen("comidas.txt", "r");

 

            break;

                        

        case 2:

            arquivo = fopen("lugares.txt", "r");

 

            break;

        

        case 3:

            arquivo = fopen("animais.txt", "r");

            

            break;

        

        case 4:

            arquivo = fopen("extra.txt", "r");  

            

            break;

        

        default :

            printf("Arquivo n�o encontrado!\n\n");

            

            exit(90);

            

            break;

    }

    

    fgets(palavra, 25, arquivo);

    

 

    tamanho=strlen(palavra);

    

    

    

    for(i=0;i<tamanho-1;i++){

    

        silhueta[i]='-';

    }

    

 

    while(vida>0){

        

        x=0;

        

        

        printf("\n %s \n",silhueta);

        

        printf("\n Digite uma letra: ");

        

        gets(letra);

 

        for(i=0; i<tamanho ;i++){

            

            if(letra[0]==palavra[i]){

                

                silhueta[i]=palavra[i];

                

                pontos++;

                

                x++;

            }

        }

 

        if(x == 0){

    

            vida=vida-1;

 

            if(vida==0) {

                

                system("cls");

        

                printf("\n\n\n :( voce FOI ENFORCADO !!! \n\n");

                printf(" ---- ---- \n");

                printf(" \\ \\ / / \n");

                printf(" \\ \\ / / \n");

                printf(" \\ \\ / / \n");

                printf(" \\ \\ / / \n");

                printf(" \\ \\ / / \n");

                printf(" \\ V / \n");

                printf(" \\ / \n");

                printf(" / \\ \n");

                printf(" / ^ \\ \n");

                printf(" / / \\ \\ \n");

                printf(" / / \\ \\ \n");

                printf(" / / \\ \\ \n");

                printf(" / / \\ \\ \n");

                printf(" / / \\ \\ \n");

                printf(" ---- ---- \n");

        

                printf("\n A PALAVRA ERA: %s",palavra);

            

                break;

            }

 

            else{

                system("cls");

                printf("\n VOC� TEM %d /5 VIDA(S)\n",vida);

            }

        }

        

 

        if(x != 0){

        

            if(pontos==tamanho-1) {

        

                system("cls");

                printf("\n\n\n");

                printf(" voce GANHOU !!! \n\n");

                printf(" ---- \n");

                printf(" / / \n");

                printf("     / / \n");

                printf(" / / \n");

                printf(" ---- / / \n");

                printf(" \\ \\ / / \n");

                printf(" \\ \\ / / \n");

                printf(" \\ \\ / / \n");

                printf(" \\ V / \n");

                printf(" \\  / \n");

                printf(" ----- \n");

            

                printf("\n A PALAVRA E: %s",palavra);

            

                break;

            }

            

            else {

                system("cls");

                printf("\n voce ACERTOU A(S) LETRA(S)!\n");

                

            }

        }

    }

    

    printf("\n");

    

    fclose(arquivo);

    

    system("pause");

}

 

 

 

  • Obrigado 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!