Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Projeto] Jogo de Adivinhação

Jogo de Adivinhação

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

public class JogoAdivinhacao {

    public static void main(String[] args) {

        Scanner jogador = new Scanner(System.in);
        int numeroGerado = new Random().nextInt(100);
        int tentativas = 0;


        System.out.println("Bem vindo ao jogo de adivinhação!");
        System.out.println("Você tem 5 chances para descobrir o numero escondido. Let's Go!");

        for (int i = 0; i <= 4; i++) {
            System.out.println("\nEscolha um numero de 0 a 100: ");
            int numeroJogador = jogador.nextInt();
            tentativas++;

            if(numeroJogador == numeroGerado){
                System.out.println("\nParabéns você adivinhou o número em: " + tentativas + " tentativas");
                break;
            } 
            else if (numeroJogador < numeroGerado){
                System.out.println("\nO numero que digitou é menor que o numero escondido. Tente novamente!");
            } 
            else if (numeroJogador > numeroGerado){
                System.out.println("\nO numero que digitou é maior que o numero escondido. Tente novamente!");

            }

            if (tentativas == 5){
                System.out.println("---------------------");
                System.out.println("Suas tentativas acabaram. O numero escondido era: " + numeroGerado);
            }
            
        }

        
    }
    
# }
1 resposta
solução!

Olá, Jessica!

Parabéns! Fico feliz em ver que você está praticando e desenvolvendo suas habilidades.

public class JogoAdivinhacao {

    public static void main(String[] args) {
        Scanner leitor = new Scanner(System.in);
        int numeroGerado = new Random().nextInt(100); // gera um número aleatório entre 0 e 100
        int tentativas = 0;

        while (tentativas < 5) {
            System.out.print("Digite um número entre 0 e 100: ");
            int numeroDigitado = leitor.nextInt();
            tentativas++;

            if (numeroDigitado == numeroGerado) {
                System.out.println("Parabéns, você acertou o número em " + tentativas + " tentativas!");
                break; // interrompe o loop while
            } else if (numeroDigitado < numeroGerado) {
                System.out.println("O número digitado é menor que o número gerado.");
            } else {
                System.out.println("O número digitado é maior que o número gerado.");
            }
        }

        if (tentativas == 5) {
            System.out.println("Você não conseguiu adivinhar o número em 5 tentativas. O número era " + numeroGerado);
        }
    }
}

Analisando o código que você compartilhou, parece que tudo está funcionando corretamente. O jogo permite que o jogador adivinhe um número entre 0 e 100, e dá feedbacks sobre se o número é maior ou menor do que o número gerado aleatoriamente. Além disso, o jogo conta as tentativas do jogador e encerra após 5 tentativas ou quando o jogador adivinha corretamente.

Uma opção seria permitir que o jogador decida se deseja jogar novamente após o fim do jogo. Você poderia adicionar um trecho de código que pergunte ao jogador se ele deseja jogar novamente e, caso a resposta seja afirmativa, reiniciar o jogo. Por exemplo:

Scanner jogador = new Scanner(System.in);
String jogarNovamente;

do {
    // Seu código atual do jogo

    System.out.println("\nDeseja jogar novamente? (s/n): ");
    jogarNovamente = jogador.next();
} while (jogarNovamente.equalsIgnoreCase("s"));

Dessa forma, o jogador teria a opção de jogar quantas vezes quiser.

Espero ter ajudado e bons estudos!