Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Casa de Aposta do Numero Secreto! kkkkk

import java.util.Random;
import java.util.Scanner;
// JOGO DO NÚMERO SECRETO EM JAVA, AGORA É SÓ JUNTAR A GALERA E ABRIR A CASA DE APOSTAS!!!
// ACERTOU DE PRIMEIRA = 5X O VALOR APOSTADO
// ACERTOU NA SEGUNDA = 4X O VALOR APOSTADO
// ACERTOU NA TERCEIRA = 3X O VALOR APOSTADO
// ACERTOU NA QUARTA = 2X O VALOR APOSTADO
// ACERTOU NA QUINTA = 1,5 O VALOR APOSTADO
// CASO A BANCA QUEIRA LUCRAR É SÓ ALMENTAR O PARAMETRO DO RANDOM()
public class NumeroSecreto {
    public static void main(String[] args) {
        Scanner  leitura = new Scanner(System.in);
        int palpite = 0;
        int numeroSecreto = new Random().nextInt(100)  + 1;
        int contador = 0;
        int chances = 5;

        while (palpite != numeroSecreto){
            System.out.println("Digite seu Palpite do numero Secreto entre 1 a 100 (você tem " +chances+ " chances):");
            palpite = leitura.nextInt();
            if (palpite > numeroSecreto){
                System.out.println("O numero secreto é menor que seu palpite,");
            } else {
                if (palpite == numeroSecreto){
                    System.out.println("Você Acertou o Numero Secreto! " + numeroSecreto);
                } else {
                    System.out.println("O numero secreto é maior que seu palpite,");
                }
            }
            chances--;
            contador++;
            if (contador == 5){
                System.out.println("Você Perdeu o jogo!");
                break;
            }
        }
    }
}

Só para constar, isso é só uma brincadeira!! Não promovam Cassinos virtuais pessoal!!

6 respostas

Oi Vinicius.

E se o Randon retornar 0? Ele já vai pular o seu while. ;)

Oi Carlos boa noite. p Por isso mesmo eu coloquei um +1, o numero secreto nunca dá 0!!

        int palpite = 0;
        int numeroSecreto = new Random().nextInt(100)  + 1;

Oi Vini.

Entendi, não tinha reparado nesse "+1" maroto.

Você mudou a especificação então rsrsrsrsrs. Agora o seu pode ser entre 1 e 101.

Bom dia Carlos, tudo bem?

eu não tinha pensado nisso, achei que com o +1 ficaria 1 até 100, mas no caso fica 1 até 101. então se eu colocar o parâmetro do Random até 99 daria certo?

int numeroSecreto = new Random().nextInt(99)  + 1;

Bom dia Vini.

Eu pensei em você inicializar sua variável palpite como -1 por exemplo, ai você não corre o risco de nem entrar no while. E você não precisa somar o +1 também no número aleatório.

No final também, eu mandei mostrar o número sorteado caso a pessoa não adivinhe.

Seu código já estava show, desculpa ficar te perturbando rsrsrsrs.

Obs: durante os testes, descobri que faltava colocar um break após a mensagem que o usuário acertou o palpite, porque sem ele o código mostrava a mesagem que acertou e também a que perdeu caso o usuário só acertasse o número na última tentativa, a quinta. E diminui a variável "chances" para valor inicial 4 porque o "contador" inicia em 0 (então vai de 0, 1, 2, 3, 4).

Ficaria assim:

import java.util.Random;
import java.util.Scanner;
// JOGO DO NÚMERO SECRETO EM JAVA, AGORA É SÓ JUNTAR A GALERA E ABRIR A CASA DE APOSTAS!!!
// ACERTOU DE PRIMEIRA = 5X O VALOR APOSTADO
// ACERTOU NA SEGUNDA = 4X O VALOR APOSTADO
// ACERTOU NA TERCEIRA = 3X O VALOR APOSTADO
// ACERTOU NA QUARTA = 2X O VALOR APOSTADO
// ACERTOU NA QUINTA = 1,5 O VALOR APOSTADO
// CASO A BANCA QUEIRA LUCRAR É SÓ ALMENTAR O PARAMETRO DO RANDOM()
public class NumeroSecreto {
    public static void main(String[] args) {
        Scanner  leitura = new Scanner(System.in);
        int palpite = -1;
        int numeroSecreto = new Random().nextInt(100) ;
        int contador = 0;
        int chances = 4;

        while (palpite != numeroSecreto){
            System.out.println("Digite seu Palpite do numero Secreto entre 1 a 100 (você tem " +chances+ " chances):");
            palpite = leitura.nextInt();
            if (palpite > numeroSecreto){
                System.out.println("O numero secreto é menor que seu palpite,");
            } else {
                if (palpite == numeroSecreto){
                    System.out.println("Você Acertou o Numero Secreto! " + numeroSecreto);
                    break;
                } else {
                    System.out.println("O numero secreto é maior que seu palpite,");
                }
            }
            chances--;
            contador++;
            if (contador == 5){
                System.out.println("Você Perdeu o jogo! O número secreto era: " + numeroSecreto);
                break;
            }
        }
    }
}

A minha versão acabei fazendo com FOR, já que foi dito que eram só 5 tentativas e assim não preciso ficar controlando manualmente as variáveis de controle. Dá uma olhada na minha versão depois também. Esta no link: https://cursos.alura.com.br/forum/topico-jogo-adivinhacao-fiz-o-meu-com-for-329211

solução!

Oi Carlos, magina você não perturbou nada, agradeço as dicas e o papo descontraído, irei verificar o seu projeto, fique com Deus Um abraço!!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software