Ajuda com jogo em Java

2 respostas
java
D

Galera, estou fazendo o jogo 21 em java, mas quando o usuario pede para continuar o jogo da a carta seguinte. Preciso que ele de cartas aleatorias, creio que tenha que arrumar no metodo subir baralho ou distribuir cartas … abaixo o codigo

import java.util.Scanner;

class Main {

public static void main(String[] args) {

VinteUm jogo = new VinteUm();

jogo.criarCartas();

jogo.distribuirCartas();

int i=0;
do{
  System.out.println("Sua carta: ");
  jogo.mostrarcartaj1();
  System.out.println("");

  jogo.j1.subirBaralho();
 System.out.println("Caso queira continuar digite 1, caso queira parar digite 2: ");
 Scanner sc = new Scanner (System.in);
   i = sc.nextInt();
   
}while (i != 2);

//jogo.mostrarVencedor();

}
}

class VinteUm{

Jogador j1 = new Jogador();

Carta[] monte = new Carta[12];
public void criarCartas(){

Carta c1 = new Carta();

c1.valor = 1;

this.monte[0] = c1;
Carta c2 = new Carta();
c2.valor = 2;
this.monte[1] = c2;

Carta c3 = new Carta();
c3.valor = 3;
this.monte[2] = c3;

Carta c4 = new Carta();
c4.valor = 4;
this.monte[3] = c4;

Carta c5 = new Carta();
c5.valor = 5;
this.monte[4] = c5;

Carta c6 = new Carta();
c6.valor = 6;
this.monte[5] = c6;

Carta c7 = new Carta();
c7.valor = 7;
this.monte[6] = c7;

Carta c8 = new Carta();
c8.valor = 8;
this.monte[7] = c8;

Carta c9 = new Carta();
c9.valor = 9;
this.monte[8] = c9;

Carta c10 = new Carta();
c10.valor = 10;
this.monte[9] = c10;

Carta c11 = new Carta();
c11.valor = 11;
this.monte[10] = c11;

Carta c12 = new Carta();
c12.valor = 12;
this.monte[11] = c12;
}

public void distribuirCartas() {

int x = 0;
for(int i = 0;i<12;i++){
    Carta c = this.monte[i];
      this.j1.monte[x] = c;
      this.monte[i] = null;
      x++;
  }

}

public void mostrarcartaj1(){

System.out.println (j1.monte[0].valor);

}

}

class Carta {

int valor;

}
class Jogador {

String nome;

Carta[] monte = new Carta[12];
public void subirBaralho (){

int tamanho = 12;

for (int i = 0; i < tamanho -1; i++){

Carta x = this.monte [i+1];

this.monte[i] = x;

}

}

}

2 Respostas

TerraSkilll

Se você pode usar uma coleção (como List/ArrayList), em vez de um array comum, pode usar o método Collections.shuffle, que embaralha os elementos pra você.

Abraço.

FearX

Você também pode selecionar tudo que for código na sua postagem e clicar no botão de pré-formatação (</>) para que seu código fique bonito, legível e mais fácil de ser ajudado. Assim, os códigos que geralmente ficam assim:

public class algumaClasse{

public static void main(String[] args){

System.out.println(Que formatação ruim!);

}

}

Ficarão assim:

public class algumaClasse{
    public static void main(String[] args){
        System.out.println("Que formatação bacana!");
    }
}

[]'s

Criado 24 de junho de 2019
Ultima resposta 24 de jun. de 2019
Respostas 2
Participantes 3