1
resposta

[Projeto] Faça com eu fiz: Jogo de Advinhação

Boa tarde, rede da Alura!

Como parte dos exercícios, resolvi mostrar a minha versão do "Jogo de adivinhação de números" em Java! Aceito qualquer sugestões de melhorias ou dúvidas em relação ao funcionamento do código, podem testar na máquina de vocês e se divertirem!

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

public class advinheONumero {
    public static void main(String[] args){
        Scanner valorASerLido = new Scanner(System.in);
        int valorAleatorioGerado = new Random().nextInt(100), valorTentado = 0, contadorDeTentativas = 5;

        System.out.println("Boas vindas ao mini-game de advinhar números!");
        do{
            System.out.println("Número atual de tentativas: " + contadorDeTentativas);

            if ( contadorDeTentativas == 0 ){
                System.out.println("Você perdeu :( \nO Valor Secreto era: " + valorAleatorioGerado);
                break;
            }
            System.out.println("Tente Advinhar o Valor Secreto e o digite abaixo: ");
            valorTentado = valorASerLido.nextInt();

            if ( valorTentado == valorAleatorioGerado){
                System.out.println("Parabéns! Você acertou o Valor Secreto que era: " + valorAleatorioGerado);
            } else {
                System.out.println("Você errou! Por favor, tente novamente.");
                contadorDeTentativas -= 1;

                if (valorTentado > valorAleatorioGerado){
                    System.out.println("O Valor que você digitou é maior do que o Valor Secreto.");
                } else {
                    System.out.println("O Valor que você digitou é menor do que o valor Secreto");
                }

                System.out.println("Deseja desistir? (Se sim, Digite 'S', para sair");
                String confirmadorDeSaida = valorASerLido.next();
                if (confirmadorDeSaida.equals("S")){
                    break;
                }
            }


        } while ( valorTentado != valorAleatorioGerado);
    }
}


Alguns pontos/dúvidas a serem reforçados:

  • Implementação de um Do/While para garantir que o programa execute a iteração pelo menos uma vez;
  • Condição de para do While seria infinita a não ser pela condicional (contadorDeTentativas == 0), pela leitura da var confirmadorDeSaida e outra condicional (confirmadorDeSaida.equals("S")), que garantem a parada iterativa e interativa do laço de repetição;
1 resposta

Oi Luan! Como vai?

Que legal que você está compartilhando seu projeto do jogo de adivinhação! É sempre bom ver como cada pessoa implementa suas soluções. E no que diz respeito a sua solução, ela está ótima, funciona corretamente e está bem estruturada.

Bons estudos!