Obs:
Coloquei 7 tentativas, quem já estudou algoritmo de pesquisa binária vai entender kkkkk
Implementei um try catch para fazer a verificação se o valor que tentativa vai receber é um número válido (evitar que o usuário digite letras ou símbolos)
import java.util.InputMismatchException;
import java.util.Random;
import java.util.Scanner;
public class jogoAdivinhacao {
public static void main(String[] args){
Random random = new Random();
Scanner scanner = new Scanner(System.in);
int numeroSecreto = random.nextInt(101); // Número aleatório entre 0 e 100
int tentativa;
int tentativas = 0;
boolean acertou = false;
System.out.println("Bem vindo ao Jogo da Adivinhação!");
System.out.println("Tente adivinhar o número secreto entre 0 e 100. Você tem 7 tentativas.");
while (tentativas < 7){
System.out.println("Digite seu palpite: ");
try { //Verificação para verificar se o valor de tentativa é válido
tentativa = scanner.nextInt(); //A variavel tentativa vai receber o que for digitado
} catch (InputMismatchException e){
System.out.println("Entrada inválida! Por favor, insira um número válido.");
scanner.nextLine();
continue;
}
tentativas++;
if (tentativa == numeroSecreto) {
System.out.println("Parabéns! Você acertou o número em " + tentativas + " tentativa(s)!");
acertou = true;
break;
} else if (tentativa < numeroSecreto) {
System.out.println("O número secreto é maior que " + tentativa + ".");
} else {
System.out.println("O número secreto é menor que " + tentativa + ".");
}
System.out.println("Tentativas restantes: " + (7 - tentativas));
}
if (!acertou){
System.out.println("Suas tentativas acabaram! O número secreto era: " + numeroSecreto);
}
}
}