Estou fazendo um jogo de cartas, onde eu devo criar um jogador A e um jogador B, e conseguir distribuir 5 cartas para cada um dos meus jogadores, para depois comparar os valores das cartas e decidir quem venceu, porém, estou com duvida de como faço pra distribuir as cartas para cada um dos jogadores, segue o código:
CLASSE BARALHO
package com.mycompany.baralhocop;
import java.util.Random;
public class Baralho {
private Carta[] baralho;
private String[] naipes = {"Ouro", "Paus", "Espada", "Copas"};
private Random gerador = new Random();
public Baralho(){
baralho = new Carta[52];
int k = 0;
for(int j = 0; j< naipes.length;j++){
for(int i = 0;i< 13;i++){
baralho[k] = new Carta((i+1),naipes[j]);
k++;
}
}
}
public void embaralharCartas(){
Carta aux;
int posicao;
for(int i=0;i< baralho.length;i++){
posicao = gerador.nextInt(52);
aux = baralho[i];
baralho[i] = baralho[posicao];
baralho[posicao] = aux;
}
}
public Carta[] distribuirCartas(int quantidade){
Carta[] retorno = new Carta[quantidade];
int aux;
for(int i=0;i<quantidade;i++){
aux = gerador.nextInt(52);
while (baralho[aux] == null){
aux = gerador.nextInt(52);
}
retorno[i] = baralho[aux];
baralho[aux] = null;
}
return retorno;
}
}
CLASSE CARTA
package com.mycompany.baralhocop;
public class Carta {
private int valor;
private String naipe;
public Carta(){
this.naipe = "";
this.valor = 0;
}
public Carta(int valor, String naipe){
this.valor = valor;
this.naipe = naipe;
}
public int comparaValor(Carta carta){
if(valor > carta.getValor()){
return 1;
} else {
if (valor < carta.getValor()){
return -1;
}else {
return 0;
}
}
}
public boolean comparaNaipe(Carta carta){
if (naipe.equals(carta.getNaipe())){
return true;
}
return false;
}
public int getValor(){
return valor;
}
public void setValor(int valor){
this.valor = valor;
}
public String getNaipe(){
return naipe;
}
public void setNaipe(String naipe){
this.naipe = naipe;
}
}
CLASSE JOGADOR
package com.mycompany.baralhocop;
public class Jogador {
private Carta[] mao;
public Jogador (int quantidade){
mao = new Carta[quantidade];
}
public Carta escolherEjogarMaiorCarta(){
Carta maiorvalor = mao[0];
int posicaoMaior = 0;
int j = 0;
while(mao[j] == null){
j++;
}
maiorvalor = mao[j];
for(int i = 1; i<mao.length; i++){
if (mao[i] != null){
if(maiorvalor.getValor() < mao[i].getValor()){
maiorvalor = mao[i];
posicaoMaior = i;
}
}
}
mao[posicaoMaior] = null;
return maiorvalor;
}
}
CLASSE DA MESA DE TESTE
package com.mycompany.baralhocop;
import java.util.Scanner;
import javax.sound.midi.Soundbank;
public class Mesa {
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
System.out.println("Mesa embaralhando . . .");
System.out.println("Informe o numero de cartas a distribuir");
int quantidade = input.nextInt();
Jogador jogadorA = new Jogador(5);
jogadorA.distribuirCartas();
Baralho copag = new Baralho();
}
}
É nessa parte de teste q estou com duvidas, de como posso pegar as cartas do baralho e colocar em meus jogadores