Ajuda por favor

Olá pessoal sou novo em programação e tenho que fazer um jogo de cartas da seguinte forma:

Laboratório I
Trabalho prático

Jogo de cartas

Neste jogo podem participar dois ou mais jogadores (um é sempre o “banco” e os restantes são jogadores). Cada jogador retira sucessivamente cartas de um baralho, até o máximo de 6 cartas. O objetivo de cada jogador é conseguir conjuntos de cartas conforme descrito abaixo.

• seqüência da cartas
• trinca (3 cartas de mesmo número)
• pares (2 cartas de mesmo número)

O Jogo pressupõe a existência de um “banco” que deverá ser simulado pelo programa, assim como os jogadores. Observação: alguns alunos me consultaram e eu permiti que os jogadores fossem usuários do programa e não simulados pelo computador; podem escolher a forma como querem fazer esta parte do trabalho.

Regras do Jogo

No início do jogo, o “banqueiro” embaralha as cartas e as coloca em um monte com a face virada para baixo.

Cada jogador retira do monte uma carta e a guarda. Todos os jogadores fazem isto em cada jogada. Após a primeira rodada, os jogadores podem optar por retirar ou não mais uma carta de cima do monte. O número máximo de cartas que um jogador pode retirar, no total, é de 6 cartas.

A retirada de cartas termina quando não existir nenhum jogador que queira retirar mais cartas do monte.

Sugestão para lógica a ser empregada pelo jogador para decidir que tipo de conjunto de cartas ele deve formar:
• Quanto ele retira uma carta, ele deve inseri-la no conjunto de cartas que lhe trará mais pontos. Veja como será feita a pontuação logo abaixo. Por exemplo, se o jogador já tem uma determinada carta, e tira uma nova carta com o mesmo número, ele deve escolher montar uma dupla ou uma trinca. Quanto o jogador tiver duas opções, sendo que as duas lhe darão a mesma pontuação, deve ser feita uma escolha aleatória.

A seguir, jogadores mostram as suas cartas e é feita a soma da pontuação de cada jogador.

Um jogador é desclassificado se não conseguiu montar nenhum dos conjuntos de cartas previstos no jogo.

No início do jogo deve determinado o número de baralhos que serão usados durante o jogo.

Na tabela a seguir estão as regras para pontuação:

Conjunto Pontuação
seqüência da cartas Se o conjunto tiver 3 ou menos cartas:
1 ponto por carta
Se o conjunto tiver mais de 3 cartas:
2 pontos por carta
trinca (3 cartas de mesmo número) 2 pontos para cada trinca
par (3 cartas de mesmo número) 1 ponto para cada par

Na contabilização da pontuação final de cada jogador, as cartas que não fizerem parte de nenhum dos conjuntos de cartas previstos no jogo devem ocasionar a subtração de 1 ponto (por carta) do total de pontos do jogador.
O jogador com maior pontuação ganha o jogo!

Até agora criei 2 classes a Cartas e Baralho:

  • Classe Carta

public class Carta
{
protected int naipe = 0,nc = 0;

public Carta(int naipe, int numero)
{
    this.naipe = naipe;
    this.nc = numero;
}

public String obtemCarta()
{
    String ct ="Naipe: "+ naipe +"\n"+ "Número da carta: "+ nc;
    return ct;
}

}

  • Classe Baralho:

public class Baralho
{
private Carta baralho[];
private int np = 0, n = 0, topo = 0;
public Baralho(int nbar) // Construtor de Baralho
{
baralho = new Carta[52 * nbar];
int i=0;
for (int z = 1; z <= nbar; z++)
for (np = 1; np <= 4; np ++)
for (n = 1; n <= 13; n++)
{
baralho[i] = new Carta(np, n);
i++;
}
}
public void embaralhaCartas()
{
int pos;
Carta aux;
for (int i = 0; i < baralho.length; i++)
{
pos = 0 + (int) (Math.random() * baralho.length);
aux = baralho[i];
baralho[i] = baralho[pos];
baralho[pos] = aux;
}
}
public void retiraCartas()
{

            Carta carta;
            carta = baralho[topo];
            topo++;
            System.out.println(carta.obtemCarta());
            
        }

}

E qual sua dúvida rapaz?

Minha dúvida é como fazer para que a classe jogador pegue a carta do baralho…

Valeu!!!