1
resposta

Desafio: Jogo de adivinhação

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

int main(){

    printf("\n\n");
    printf("          P  /_\\  P                               \n");
    printf("         /_\\_|_|_/_\\                             \n");
    printf("     n_n | ||. .|| | n_n         Bem vindo ao      \n");
    printf("     |_|_|nnnn nnnn|_|_|     Jogo de Adivinhação!  \n");
    printf("    |" "  |  |_|  |"  " |                          \n");
    printf("    |_____| ' _ ' |_____|                          \n");
    printf("          \\__|_|__/                               \n");
    printf("\n\n");

    int numerogrande = rand();

    int chute; 

    int numerosecreto = numerogrande % 100;

    int tentativas = 1;

    double pontos = 1000;

    int acertou = 0;

    int nivel;
    printf("Qual o nível de dificuldade? \n");
    printf("(1) Fácil | (2) Médio | (3) Difícil\n");
    printf("Escolha: ");
    scanf("%d", &nivel);

    int numerotentativas;

    switch (nivel)
    {
    case 1:
        numerotentativas = 20;
        break;
    case 2:
        numerotentativas = 15;
        break;
    default:
        numerotentativas = 6;
        break;
    }

        for(int i=1; i <= numerotentativas; i++) {

        printf("Tentativa %d\n", tentativas);
        printf("Qual é o seu chute? ");
            
        scanf("%d", &chute);
        printf("Seu chute foi %d\n", chute);

        if (chute < 0) {
            printf("Você não pode chutar números negativos!\n");
            continue; 
        }

        acertou = (chute == numerosecreto);
        int maior = (chute > numerosecreto);

        if (acertou) {
            break;
        } 

        else if (maior) {
            printf("Seu chute foi maior que o número secreto\n");
        } 
            
        else {
            printf("Seu chute foi menor que o número secreto\n");
        }

        tentativas++;

        double pontosperdidos = abs(chute - numerosecreto) / (double)2; 

        pontos = pontos - pontosperdidos;

        }

        printf("Fim de jogo!\n");

        if(acertou) {

            printf("\n\n");
            printf("             OOOOOOOOOOO               \n");
            printf("         OOOOOOOOOOOOOOOOOOO           \n");
            printf("      OOOOOO  OOOOOOOOO  OOOOOO        \n");
            printf("    OOOOOO      OOOOO      OOOOOO      \n");
            printf("  OOOOOOOO  #   OOOOO  #   OOOOOOOO    \n");
            printf(" OOOOOOOOOO    OOOOOOO    OOOOOOOOOO   \n");
            printf("OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO  \n");
            printf("OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO  \n");
            printf("OOOO  OOOOOOOOOOOOOOOOOOOOOOOOO  OOOO  \n");
            printf(" OOOO  OOOOOOOOOOOOOOOOOOOOOOO  OOOO   \n");
            printf("  OOOO   OOOOOOOOOOOOOOOOOOOO  OOOO    \n");
            printf("    OOOOO   OOOOOOOOOOOOOOO   OOOO     \n");
            printf("      OOOOOO   OOOOOOOOO   OOOOOO      \n");
            printf("         OOOOOO         OOOOOO         \n");
            printf("             OOOOOOOOOOOO              \n");
            printf("\n\n");


            printf("Você ganhou!\n");
            printf("Você acertou em %d tentativas!\n", tentativas);
            printf("Total de pontos: %.1f\n", pontos); 
        } else {
            printf("Você perdeu! Tente de novo!\n");

            printf("\n\n");
            printf("       \\|/ ____ \\|/    \n");
            printf("        @~/ ,. \\~@      \n");
            printf("       /_( \\__/ )_\\    \n");
            printf("          \\__U_/        \n");
        }
}
1 resposta

Oi, Guilherme.

Agradeço por compartilhar seu código com a comunidade Alura.

Seu jogo de adivinhação ficou bem estruturado, gostei do cuidado em permitir que o usuário escolha a dificuldade e em ajustar a pontuação conforme a distância do chute. Isso deixa o desafio mais dinâmico.

Continue firme nos estudos.

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