2
respostas

[CUR: primeiros passos] [EXE] jogo adivinhação

A plataforma do intellij é muito intuitiva, muito bom para quem está começando!

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

public class adivinhacaoGame {
    public static void main(String[] args) {
    
    //variaveis 
    
        Scanner input = new Scanner(System.in);
        Random numRa = new Random();

        int numeroSecreto = numRa.nextInt(100);
        int tentativas = 0;
        int maxTentativas = 5;
        boolean acertou = false;

        System.out.println(" Bem-vindo ao jogo da adivinhação!");
        System.out.println("Você quer tentar adivinhar?");
        System.out.println("Escolhe um numero de 0 a 100");
        System.out.println("Você tem " + maxTentativas + " tentativas.\n");

//métodos

        while (tentativas < maxTentativas) {
            System.out.print("Digite seu palpite: ");
            int chute = input.nextInt();
            tentativas++;

            if (chute == numeroSecreto) {
                System.out.println("Você acertou o número em " + tentativas + " tentativas.");
                acertou = true;
                break;
            } else if (chute < numeroSecreto) {
                System.out.println("O número secreto é MAIOR que " + chute + ".");
            } else {
                System.out.println("O número secreto é MENOR que " + chute + ".");
            }

            System.out.println("Você ainda tem " + (maxTentativas - tentativas) + " tentativa(s) restante(s).\n");

            if (!acertou) {
                System.out.println(" Suas tentativas acabaram! O número secreto era " + numeroSecreto + ".");
            }


        }
        input.close();
    }
}

Matricule-se agora e aproveite até 50% OFF

O maior desconto do ano para você evoluir com a maior escola de tecnologia

QUERO APROVEITAR
2 respostas

Oi, Mariana! Como vai?

Gostei bastante da sua implementação do jogo de adivinhação. O uso das classes Scanner e Random mostra que você entendeu bem a base de entrada de dados e geração de números aleatórios. O código está bem estruturado e fácil de ler.

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

Dei uma organizada no seu codigo, o resultado foi este:

package test;

import com.github.rickmvi.jtoolbox.console.util.Scan;
import org.jetbrains.annotations.Contract;
import org.jetbrains.annotations.NotNull;

import java.util.concurrent.ThreadLocalRandom;

import static com.github.rickmvi.jtoolbox.console.IO.*;

public class GuessingGame {
    public static void main(String[] args) {
        ThreadLocalRandom rand = ThreadLocalRandom.current();

        int secretNumber = rand.nextInt(0, 101);
        int attempt = 0;
        int maxAttempts = 5;

        println(menu(maxAttempts));

        do {
            int guess = Scan.readIntPrompt("Enter your guess:");
            attempt++;

            if (guess == secretNumber) {
                printf("You got the number right in %s tries.%n", attempt);
                break;
            }

            if (attempt == maxAttempts) {
                printf("Your attempts are over! The secret number was %d.%n", secretNumber);
                break;
            }

            String res = guess < secretNumber ? "GREATER" : "LESS";

            printf("The secret number is %s than %d.%n", res, guess);
            printf("Do you still have %d remaining attempt(s).%n", (maxAttempts - attempt));

        } while (true);
        Scan.close();
    }

    @Contract(pure = true)
    private static @NotNull String menu(int maxAttempts) {
        return """
                Bem-vindo ao jogo da adivinhação!
                Você quer tentar adivinhar?
                Escolhe um numero de 0 a 100
                Você tem %s attempt.
                """.formatted(maxAttempts);
    }

}

Esqueci de traduzir a ultima parte para ingles. Contudo, o intuito do codigo e mostrar uma forma de voce evitar ficar fazendo esse encadeamento de If else, pois isso dificulta a leitura para outras pessoas.

OBS: Deixei o codigo com um pequeno bug, fica como desafio tentar achar qual e o bug.

Sainda no Console:
Insira aqui a descrição dessa imagem para ajudar na acessibilidade