1
resposta

[Sugestão] Sugestão de código

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

int main() {
    printf("************************************** \n");
    printf("Bem vindo ao nosso jogo de adivinhação! \n");
    printf("************************************** \n");

    long seconds = time(0);

    srand(seconds);
    int numeroGrande = rand();

    int numeroSecreto = numeroGrande % 600;

    int chute;

    int tentativa = 1;
    double score = 1000;

    while(1) {

        if(score <= 0) {
            printf("Você perdeu! Score: %.1f \n", score);
            
            break;
        }
        printf("************************************** \n");
        printf("Tentativa %d! \n", tentativa);
        printf("************************************** \n");

        printf("Chute um valor: \n");
        scanf("%d", &chute);
        printf("Seu chute é %d \n", chute);

        if(chute < 0) {
            printf("O valor do chute deve ser maior que 0. \n");
            tentativa--;

            continue;
        }

        int acertar = chute == numeroSecreto;
        int menor = chute < numeroSecreto;

        if(acertar) {
            printf("************************************** \n");
            printf("Parabéns você acertou! \n");
            printf("Seu score final foi: %.1f \n", score);
            
            break;
        } else if(menor) {
            printf("Oops! O valor que você chutou é um pouco menor. \n");
        } else {
            printf("Oops! O valor que você chutou é um pouco maior. \n");
        };

        double diference = abs(chute - numeroSecreto) / 2.0;
        score -= diference;

        tentativa++;

    }

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

Meu código ficou assim :)

1 resposta

Olá, Otavio!

Pelo que vejo, você fez um ótimo trabalho no seu código! Você implementou a lógica do jogo de adivinhação, incluindo a geração de um número secreto aleatório, a coleta do chute do usuário, a verificação se o chute está correto e a atualização do score. Além disso, você também tratou a situação em que o usuário insere um valor negativo, o que é um ótimo detalhe.

A única diferença que notei em relação ao código da aula é que, ao invés de imprimir "Jogue de novo, você é um bom jogador!" quando o usuário acerta, você optou por imprimir "Parabéns você acertou! Seu score final foi: %.1f". Isso não é um problema, é apenas uma diferença na mensagem exibida para o usuário.

Aqui está um exemplo de como você poderia incorporar a mensagem da aula no seu código:

if(acertar) {
    printf("************************************** \n");
    printf("Parabéns! Você acertou!\n");
    printf("Jogue de novo, você é um bom jogador!\n");
    printf("Seu score final foi: %.1f \n", score);
    
    break;
}

Lembre-se, a personalização do seu código é uma parte importante da programação e é ótimo ver que você está fazendo isso. Continue assim!

Espero ter ajudado e bons estudos!