0
respostas

[Projeto] Jogo de adivinhação

Solução
Para resolver o desafio do jogo de adivinhação, foi desenvolvido um programa em Java que gera um número aleatório e permite que o usuário tente adivinhar esse número em até cinco tentativas.

Inicialmente, o programa utiliza a classe Random para gerar um número secreto de forma aleatória, garantindo que a cada nova rodada o valor seja diferente. Em seguida, a classe Scanner é utilizada para ler os palpites digitados pelo usuário no terminal.

O controle das tentativas é feito por meio de um laço de repetição for, que limita o número de jogadas a cinco. A cada tentativa, o programa compara o número digitado pelo usuário com o número secreto e informa se o palpite é maior ou menor, ajudando o jogador a ajustar suas próximas tentativas.

Caso o usuário acerte o número antes de esgotar as tentativas, o programa exibe uma mensagem de sucesso e utiliza a instrução break para interromper o loop, encerrando a rodada imediatamente. Se o jogador não acertar o número após as cinco tentativas, uma mensagem informando o fim do jogo é exibida.

Ao final de cada rodada, o programa pergunta se o usuário deseja continuar jogando, permitindo reiniciar o jogo ou encerrar a execução de forma controlada.

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

public class JogoDeAdivinhacao {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        String continuar = "S";
        int jogada = 0;

        Random aleatorio = new Random();

        while (!continuar.equals("N")) {

            int number = aleatorio.nextInt(100) + 1;

            for (int i = 1; i <= 5; i++) {
                if (i == 1) {
                    System.out.println("""
                        Você tem 5 chances para acertar o número.
                        O número está entre 1 e 100.
                        Boa sorte!
                        """);
                }

                System.out.println("Digite um número, " + i + "° chance: ");
                jogada = sc.nextInt();

                if (jogada < number) {
                    System.out.println("Seu palpite é menor que o número secreto.");
                } else if (jogada > number) {
                    System.out.println("Seu palpite é maior que o número secreto.");
                } else {
                    System.out.println("Parabéns você acertou!\n" +
                            "Seu palpite: " + jogada + "\n" +
                            "Número Secreto: " + number);
                    break;
                }

                if (i == 5) {
                    System.out.println("Infelizmente você não conseguiu descobrir o número secreto.\n!!!");
                }
            }
            System.out.println("Deseja continuar? (S/N)");
            continuar = sc.next().trim().toUpperCase();
        }

        sc.close();
    }
}

Cenário Positivo

Você tem 5 chances para acertar o número.
O número está entre 1 e 100.
Boa sorte!

Digite um número, 1° chance: 
50
Seu palpite é maior que o número secreto.
Digite um número, 2° chance: 
30
Seu palpite é maior que o número secreto.
Digite um número, 3° chance: 
20
Seu palpite é menor que o número secreto.
Digite um número, 4° chance: 
25
Seu palpite é menor que o número secreto.
Digite um número, 5° chance: 
28
Parabéns você acertou!
Seu palpite: 28
Número Secreto: 28
Deseja continuar? (S/N)

Cenário Negativo

Você tem 5 chances para acertar o número.
O número está entre 1 e 100.
Boa sorte!

Digite um número, 1° chance: 
10
Seu palpite é menor que o número secreto.
Digite um número, 2° chance: 
50
Seu palpite é maior que o número secreto.
Digite um número, 3° chance: 
30
Seu palpite é maior que o número secreto.
Digite um número, 4° chance: 
25
Seu palpite é maior que o número secreto.
Digite um número, 5° chance: 
20
Seu palpite é maior que o número secreto.
Infelizmente você não conseguiu descobrir o número secreto.
!!!
Deseja continuar? (S/N)