2
respostas

[Sugestão] Projeto finalizado em C

Gostaria só de mostrar o código que fiz com auxilio ao curso em C, Professor: Maurício Aniche.


#include <stdio.h>
#include <stdlib.h>
#include <time.h>

int main(){

             
printf("     .-----.                                               \n");
printf("   .' -   - '.                                              \n");
printf("  /  .-. .-.  \\                                           \n");
printf("  |  | | | |  |                                       \n");
printf("   \\ \\o/ \\o/ /                                     \n");
printf("  _/    ^    \\_                                         \n");
printf(" | \\  '---'  / |                                        \n");
printf(" / /`--. .--`\\ \\        BEM VINDO          \n");
printf("/ /'---` `---'\\ \\              AO                   \n");
printf("'.__.       .__.'            JOGO DA              \n");
printf("    `|     |`           ADIVINHACAO         \n");
printf("     |     \\                                              \n");
printf("     \\      '--.                                           \n");
printf("      '.        `\\                                         \n");
printf("        `'---.   |                                         \n");
printf("           ,__) /                                          \n");
printf("            `..'                                           \n");
printf("\n\n");


    int segundos = time(0);
    srand(segundos);
    int no = rand();

    int numerooculto = no % 100;
    int chute;
    int tentativas = 1;
    double pontuacao = 1000;

    int acertou = 0;

    int nivel;
    
    printf("Qual a Dificuldade que deseja jogar?\n");
    printf("(1)Facil (2)Medio (3)Dificil\n\n");
    printf("Escolhar: ");
    scanf("%d", &nivel);

    int numerodetentativas;

    switch(nivel){
        case 1:
            numerodetentativas = 18;
            break;
        case 2: 
            numerodetentativas = 13;
            break;
        default:
            numerodetentativas = 6;
            break;
    }
    
    //for(int i = 1; i <= TENTATIVAS; i++){ 
    for(int i = 1; i <= numerodetentativas; i++){
        
        printf("\nDigite o %d chute: ", tentativas);
        scanf("%d", &chute);
        printf("Seu numero foi %d\n", chute);

        if(chute < 0){
            printf("não pode numero negativo!\n");
            continue;
        }
        
        acertou = (chute == numerooculto);
        int maior = chute > numerooculto;
        if(acertou){
    
          break;
        }
        
        else if(maior){
            printf("EH um numero mais baixo\n");
        }
        
        else{
            printf("EH um numero mais alto\n");
        }
        
        tentativas++;   

        double pontosperdidos = abs(chute - numerooculto) / (double)2;
        pontuacao = pontuacao - pontosperdidos;
    }
    
    if(acertou){
        printf("Voce Ganhou!");
        printf("\nVoce acertou em %d tentativas!\n", tentativas);
        printf("Total de pontos %.2f\n", pontuacao);
        
    }
    else{
        printf("Voce Perdeu\n");
    }
    printf("Fim de jogo, jogue novamente!"); 
    return 0;
}
2 respostas

ascii art saiu um pouco bugado.

Olá, Samuel! Como vai?

Parabéns pela resolução da atividade!

Observei que você explorou o uso de funções da biblioteca padrão para gerar números aleatórios, utilizou muito bem a estrutura de repetição para controlar as tentativas e ainda compreendeu a importância das condições para verificar se o jogador acertou ou não o número oculto.

Continue postando as suas soluções, com certeza isso ajudará outros estudantes e tem grande relevância para o fórum.

Fico à disposição! E se precisar, conte sempre com o apoio do fórum.

Abraço e bons estudos!

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!