Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mostrar numeros aleatorios acima da dificuldade dita #8

Closed
Brujahhell opened this issue Jan 17, 2022 · 5 comments
Closed

Mostrar numeros aleatorios acima da dificuldade dita #8

Brujahhell opened this issue Jan 17, 2022 · 5 comments

Comments

@Brujahhell
Copy link

Poderia me ajudar?
Estou tentando fazer um rolador de dados, consegui até certo ponto e agora no final eu travei.
Gostaria que no final fosse dito os números que fossem acima da dificuldade de ação(dif).

package Roladordedados;

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

public class Main {
public static void main(String[] args) {
Random random = new Random();
Scanner scan = new Scanner(System.in);

    int dif, dados;

    System.out.println("Qual a Dificuldade da ação? ");
    dif = scan.nextInt();
    System.out.println("Quantos dados? ");
    dados = scan.nextInt();

    int[] numerosAleatorios = new int[dados];

    for (int i = 0; i < numerosAleatorios.length; i++) {
        int numero = random.nextInt(10);
        numerosAleatorios[i] = numero + 1; 
    }

    System.out.print("Dados rolados: ");
    for (int numero : numerosAleatorios) {
        System.out.print(numero + " ");
    }

--------------tentei exemplificar aqui no final----------------

    // MOSTRAR OS NUMEROS ACIMA DA DIFICULDADE
    //System.out.print("\nSucessos: ");
    //for (int numero : numerosAleatorios) {
    //    System.out.print((numero >= dif) + " ");
@cami-la
Copy link
Owner

cami-la commented Jan 17, 2022

Oi, amigo. Tudo bem?
Olha, não entendi muito o que você quis fazer, mas fiz um tipo de jogo de dados com aposta.

  • O Usuário escolhe quantos dados quer jogar;
  • E o lançador de dados faz os lançamentos;
  • No final, mostra as os valores apostados e os resultados dos lançamentos dos dados.
public class Main2 {
  public static void main(String[] args) {
    Random random = new Random();
    Scanner scan = new Scanner(System.in);

    //Quantidade de dados:
    System.out.println("Quantos dados deseja jogar?");
    int dados = scan.nextInt();

    //Resultado dos dados jogados
    int[] resultadoDoDado = new int[dados];
    for (int i = 0; i< dados; i++){
      int dado =  random.nextInt(6) + 1; //o valor deve ir de 1 a 6.
      resultadoDoDado[i] = dado;
    }

    //Array que armazena os números que serão apostados.
    int[] numerosApostados = new int[dados];

    //Fazendo a aposta:
    int count = 0;
    while (count < dados) {
      System.out.println("Faça sua " + (count+1) + " aposta: ");
      int aposta = scan.nextInt();

      //Verifique se o valor é possível para um dados
      while (aposta < 1 || aposta > 6) {
        System.out.println("Numero inválido, tente novamente: ");
        aposta = scan.nextInt();
      }
      //Pegue essa aposta e coloque no array de apostas.
      numerosApostados[count] = aposta;
      count++;
    }


    System.out.println("**** RESULTADO ****");
    System.out.println("Suas apostas: ");
    for(int numeros: numerosApostados){
      System.out.print(numeros + " ");
    }
    System.out.println("\n----");
    System.out.println("Resultado dos dados: ");
    for(int numeros: resultadoDoDado){
      System.out.print(numeros + " ");
    }

  }
}

@Brujahhell
Copy link
Author

Brujahhell commented Jan 18, 2022

vamos dizer que no seu exemplo ai eu tenha apostado 6 dados no numero 4.
e o resultado seja 2 3 4 5 6 6
quero que no final me mostre apenas o 4 5 6 6

tipo aqui:

Qual a Dificuldade da ação? (todo valor 6 ou acima é sucesso)
6
Quantos dados?
4
Dados rolados: 7 10 5 3

no caso aqui eu queria que mostrasse assim

Sucesso = 7 10
Vc teve 2 sucessos

@cami-la
Copy link
Owner

cami-la commented Jan 18, 2022

Aaaaaah, perdoa. Agora acho que entendi. Dá uma olhadinha e me diz se ficou bom.

public class Main2 {

  public static void main(String[] args) {
    Random random = new Random();
    Scanner scan = new Scanner(System.in);

    //Dificuldade da ação:
    System.out.println("Qual a dificuldade da ação?");
    int dif = scan.nextInt();

    //Quantidade de dados:
    System.out.println("Quantos dados?");
    int dados = scan.nextInt();

    //Resultado dos dados jogados:
    int[] resultadoDoDado = new int[dados];
    for (int i = 0; i< dados; i++){
      int dado =  random.nextInt(10) + 1;
      resultadoDoDado[i] = dado;
    }

    System.out.println("**** RESULTADO ****");
    System.out.println("Sucesso: ");
    int count = 0;
    for(int numero: resultadoDoDado){
      if (numero >= dif){
        System.out.print(numero + " ");
        count++;
      }
    }
    System.out.println("\nVocê teve " + count + " sucessos");
  }
}

@cami-la cami-la closed this as completed Jan 18, 2022
@Brujahhell
Copy link
Author

Brujahhell commented Jan 18, 2022

RS, ACONTECE. é coisa de jogador de RPG huahauhau
mas agora consegui, acrescentando esse final que me falou e modificando algumas coisinhas, consegui mostrar todos os números aleatórios rolados e tb apenas os com o valor acima da dificuldade da ação. ficou assim..

Muito Obrigado Camila, muito mesmo, estava quebrando a cabeça ja fazia uma semana pra fazer isso no intelllij, no portugol foi facil, mas no intelllij... rsrsrs


No caso apenas tirei a linha
System.out.println("**** RESULTADO ****");

E tb deixei a minha mostragem dos dados
//Mostragem dos dados Rolados
System.out.print("Dados rolados: ");
for (int numero : numerosAleatorios) {
System.out.print(numero + " ");


public class Main {

public static void main(String[] args) {
    Random random = new Random();
    Scanner scan = new Scanner(System.in);

    int dif, dados;

    //Dificuldade de ação e dos dados
    System.out.println("Qual a Dificuldade da ação? ");
    dif = scan.nextInt();
    System.out.println("Quantos dados? ");
    dados = scan.nextInt();

    //Rolagem dos dados
    int[] numerosAleatorios = new int[dados];
    for (int i = 0; i < numerosAleatorios.length; i++) {
        int numero = random.nextInt(10);
        numerosAleatorios[i] = numero + 1;
    }
    
    //Mostragem dos dados Rolados
    System.out.print("Dados rolados: ");
    for (int numero : numerosAleatorios) {
        System.out.print(numero + " ");

    }
    //Mostragem dos Sucessos
    System.out.println("\nSucesso: ");
    int count = 0;
    for (int numero : numerosAleatorios) {
        if (numero >= dif) {
            System.out.print(numero + " ");
            count++;
        }

    }
    //Contagem apenas dos sucessos
    System.out.println("\nVocê teve " + count + " sucessos");
}

}

@cami-la
Copy link
Owner

cami-la commented Jan 18, 2022

Muito bem!!
Por nada, precisando é só falar. (:

Na verdade o que estava me deixando confusa foi esse dado de 10 lados. Por que na minha cabeça um dado tem 6 faces.
Mas um amigo me explicou que tinha esse dado de RPG. Aí sim que entendi. kkkkkk

Boa sorte nos estudos.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants