1
resposta

[Sugestão] Pessoal deixo aqui uma sugestao do jogo com mais funcionalidades

Meu codigo:

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

public class Main {

    public static void main(String[] args) {

        Scanner sc = new Scanner(System.in);
        System.out.println("Informe o nivel de dificuldade de 1 a 3, sendo 1 mais facil e 3 mais dificil: ");
        int dificuldade = sc.nextInt();
        int tentativas = 0;
        switch (dificuldade) {
            case 1:
                tentativas += 15;
                break;
            case 2:
                tentativas += 10;
                break;
            case 3:
                tentativas += 5;
                break;
            default:
                System.out.println("Nivel de dificuldade invalido!");
        }

        int randomNum = new Random().nextInt(100);

        if (tentativas == 0) {
            System.out.println("Inicie novamente e informe o nivel de dificuldade!");
        } else {
            for (int i = 1; i <= tentativas; i++) {
                if (i==1) {
                    System.out.println("Informe um numero de 0 a 100: ");
                } else {
                    System.out.println("Tente novamente: ");
                    System.out.println(String.format("Tentativas restantes: %d", tentativas-i));
                }
                int userNum = sc.nextInt();
                if (userNum < 0 || userNum > 100) {
                    System.out.println("Numero informado esta fora do range 0 a 100");
                    i--;
                } else {
                    if (userNum == randomNum) {
                        System.out.println(String.format("Numero acertado em %d tentativa(as)!", i));
                        break;
                    } else if (userNum < randomNum) {
                        System.out.println(String.format("Tentativa: %d - Numero digitado: %d", i,userNum));
                        System.out.println("Numero menor que o numero gerado");
                    } else if (userNum > randomNum) {
                        System.out.println(String.format("Tentativa: %d - Numero digitado: %d", i,userNum));
                        System.out.println("Numero maior que o numero gerado");
                    }
                    if (i == tentativas && userNum != randomNum) {
                        System.out.println(String.format("O numero gerado era: %d",randomNum));
                    }
                }
            }
        }
    }
}
1 resposta

Oi, Giovana! Como vai?

Seu jogo ficou muito bem estruturado! A ideia de ajustar a dificuldade com base nas tentativas é uma ótima adição para tornar a experiência mais dinâmica e personalizada.

Uma dica interessante para o futuro é usar o método nextLine() junto com nextInt() para evitar problemas com a quebra de linha deixada no buffer do Scanner. Veja este exemplo:


Scanner sc = new Scanner(System.in);
System.out.print("Digite um numero: ");
int numero = sc.nextInt();
sc.nextLine(); // limpa o buffer
System.out.println("Voce digitou: " + numero);

Esse código evita que o Scanner pule entradas quando usamos nextInt() seguido de nextLine().

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!