import javax.swing.*;
import java.util.Random;
import java.util.Scanner;
public class JogoDeAdivinhacao {
static void main(String[] args) {
/*
O meu código está com uma falha, estou tendo que dar mais de um input caso não acerte o número secreto, não consegui encontrar o defeito.
*/
//Declaração das variáveis
int numeroSecreto;
int tentativas;
numeroSecreto = new Random().nextInt(100);
//Mensagem inicial
JOptionPane.showMessageDialog(null, """
Bem vindo
Hoje você participará do jogo de adivinhação!!!
Você tem 5 tentativas para adivinhar o número.
boa sorte!
""");
//Laço de repetição, deixei pra incluir o decremento dentro das condicionais.
for (tentativas = 5; tentativas >= 0; ) {
//Se as tentativas esgotarem, exibe uma mensagem, mostra o número secreto e encerra a aplicação com o break
if (tentativas == 0) {
JOptionPane.showMessageDialog(null, "Que pena, suas tentativas expiraram :( O número secreto era: " + numeroSecreto);
break;
}
//Input do usuário
Scanner numeroFornecido = new Scanner(System.in);
//Primeira condicional, se acertar o número exibe a mensagem e encerra a aplicação.
if (numeroFornecido.nextInt() == numeroSecreto) {
JOptionPane.showMessageDialog(null, "Parabéns, você acertou! O número secreto era: " + numeroSecreto);
break;
}
//Segunda condicional, se o número informado for menor, exibe a mensagem, decrementa a tentativa e exibe as tentativas restantes.
else if (numeroFornecido.nextInt() < numeroSecreto) {
JOptionPane.showMessageDialog(null, "O número secreto é maior!");
tentativas--;
JOptionPane.showMessageDialog(null, "Você ainda tem " + tentativas + " restantes.");
}
//Terceira tentativa, se o número for maior, exibe a mensagem, decrementa a tentativa e exibe as tentativas restantes.
else if (numeroFornecido.nextInt() > numeroSecreto) {
JOptionPane.showMessageDialog(null, "O número secreto é menor!");
tentativas--;
JOptionPane.showMessageDialog(null, "Você ainda tem " + tentativas + " restantes.");
}
}
}
}