Importante

Você está vendo a versão anterior da nova experiência da Alura que estamos preparando para você. Em breve, ela ganha uma identidade visual novinha totalmente pensada em potencializar seus estudos!

1
resposta

Resolução jogo adivinhação

import java.util.Random;
import java.util.Scanner;

public class JogoAdivinhacao {
    public static void main(String[] args) {
        System.out.println("---- Jogo de adivinhação ----\n"); // apresentação

        // estrutura para receber dados de entrada
        Scanner leitura = new Scanner(System.in);

        // variáveis
        int valor = 0; // valor que usuário digita
        int aleatorio = new Random().nextInt(100);
        int tentativas = 5;
        int contador = 1;

        boolean repetir = true;

        while (repetir){
            System.out.println("Chutar o número:");
            valor = leitura.nextInt();

            // condições que comparam o valor
            if (valor == aleatorio) {
                System.out.println("Parabéns, você acertou o número " + valor + " na " + contador + "° tentativa!");
                repetir = false; // encerra o laço
            } else if (valor < aleatorio) {
                System.out.println("Muito baixo! Digite um número maior!");
            } else {
                System.out.println("Passou demais! Digite um número menor!");
            }

            tentativas--; // decrementando o valor para exibir o restante de tentativas
            contador++; // incrementando para saber em qual tentativa o usuário acertou

            // condições que verificam o número de tentativas
            if (tentativas == 0) {
                System.out.println("Acabaram as tentativas!");
                repetir = false; // encerra o laço
            } else {
                System.out.println("Restam " + tentativas + " tentivas");
            }
        }
        System.out.println("\nFim do programa!");
    }
}
1 resposta

Oi, Pedro, como vai?

Seu jogo de adivinhação ficou muito bom e atende corretamente à proposta da atividade. Você utilizou conceitos importantes como while, condicionais, variáveis de controle, geração de número aleatório e entrada de dados com Scanner. A lógica de encerramento do jogo também funcionou bem com a variável repetir.

Um detalhe que pode ser melhorado é o fechamento do Scanner ao final do programa.

leitura.close();

Como desafio extra, o que você mudaria no jogo para permitir que o usuário escolha o nível de dificuldade com diferentes quantidades de tentativas?

Parabéns pela resolução e por compartilhar seu código no fórum. Você aplicou muito bem os conceitos trabalhados na atividade. Continue praticando e testando novas ideias, porque isso fortalece bastante a lógica de programação. O fórum segue à disposição para suas próximas dúvidas e projetos.

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