fw.jogoCartas
Class Baralho

java.lang.Object
  |
  +--fw.jogoCartas.Baralho

public class Baralho
extends java.lang.Object
implements BaralhoIF, java.io.Serializable

Um baralho comum de cartas. Num baralho comum, tem 52 cartas: 13 valores (AS, 2, 3, ..., 10, valete, dama, rei) de 4 naipes (ouros, espadas, copas, paus).

Version:
2.0
Author:
Jacques Philippe Sauvé, jacques@dsc.ufpb.br, Fabiana Paulino Guedes, fabianap@dsc.ufpb.br, Raquel Vigolvino Lopes, rakel@dsc.ufpb.br
See Also:
Serialized Form

Field Summary
static int AS
           
protected  BaralhadorIF baralhador
          Uma estrategia para baralhar o baralho.
protected  java.util.Vector baralho
          O baralho é armazenado aqui.
static int ESPADAS
           
protected  FactoryCartaIF factoryCartas
          Um objeto responsavel por criar as cartas do baralho.
static int PAUS
           
static int REI
           
 
Constructor Summary
Baralho()
          Construtor de um baralho comum.
Baralho(FactoryCartaIF f, BaralhadorIF b)
          Construtor de um baralho comum.
 
Method Summary
 void baralhar()
          Baralha (traça) o baralho.
 void baralhar(long semente)
          Baralha (traça) o baralho de acordo com um numero (semente).
private  CartaIF criaCarta(int valor, int naipe)
          Cria uma carta para este baralho.
private  void encheBaralho()
          Preenche o baralho com 52 cartas criadas pelo factory de cartas.
 boolean equals(java.lang.Object objeto)
          Testa a igualdade de um objeto com este baralho.
 BaralhadorIF getBaralhador()
          Retorna o objeto responsavel por baralhar as cartas deste baralho.
 FactoryCartaIF getFactoryCarta()
          Retorna o objeto criador das cartas do baralho.
 void insereCarta(int posicao, CartaIF carta)
          Insere uma nova carta em uma dada posicao do baralho.
 java.util.Iterator iterator()
          Recupera um iterador para poder varrer todas as cartas do baralho.
 int maiorValor()
          Recupera o valor da maior carta possível deste baralho.
 int menorValor()
          Recupera o valor da menor carta possível deste baralho.
 int numeroDeCartas()
          Recupera o numero de cartas atualmente no baralho.
 CartaIF pegaCarta()
          Retira uma carta do topo do baralho e a retorna.
 CartaIF pegaCarta(int posicao)
          Recupera a carta que estiver em uma dada posicao do baralho.
 int primeiroNaipe()
          Recupera o "primeiro naipe" das cartas que podem estar no baralho.
 CartaIF removeCarta(int posicao)
          Remove e retorna a carta que estiver na posição especificada por posicao.
 void setBaralhador(BaralhadorIF b)
          Atribui um novo valor ao atributo baralhador.
 void setFactoryCarta(FactoryCartaIF factory)
          Atribui uma nova factory de cartas ao baralho.
 void substituiCarta(int posicao, CartaIF carta)
          Substitui uma carta por outra em em uma dada posicao do baralho.
 int ultimoNaipe()
          Recupera o "último naipe" das cartas que podem estar no baralho.
 
Methods inherited from class java.lang.Object
, clone, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

baralho

protected java.util.Vector baralho
O baralho é armazenado aqui. É protected porque alguns baralhos subclasses dessa classe poderão talvez ter que mexer diretamente aqui para construir baralhos especiais.

baralhador

protected BaralhadorIF baralhador
Uma estrategia para baralhar o baralho.

factoryCartas

protected FactoryCartaIF factoryCartas
Um objeto responsavel por criar as cartas do baralho.

AS

public static final int AS

REI

public static final int REI

PAUS

public static final int PAUS

ESPADAS

public static final int ESPADAS
Constructor Detail

Baralho

public Baralho()
Construtor de um baralho comum.

Baralho

public Baralho(FactoryCartaIF f,
               BaralhadorIF b)
Construtor de um baralho comum.
Parameters:
comparador - O comparador das cartas do baralho
Method Detail

encheBaralho

private void encheBaralho()
Preenche o baralho com 52 cartas criadas pelo factory de cartas.

setBaralhador

public void setBaralhador(BaralhadorIF b)
Atribui um novo valor ao atributo baralhador.
Specified by:
setBaralhador in interface BaralhoIF
Parameters:
b - O novo baralhador a ser atribuido a este baralho.

getBaralhador

public BaralhadorIF getBaralhador()
Retorna o objeto responsavel por baralhar as cartas deste baralho.
Specified by:
getBaralhador in interface BaralhoIF
Returns:
O baralhador do baralho.

setFactoryCarta

public void setFactoryCarta(FactoryCartaIF factory)
Atribui uma nova factory de cartas ao baralho.
Specified by:
setFactoryCarta in interface BaralhoIF

getFactoryCarta

public FactoryCartaIF getFactoryCarta()
Retorna o objeto criador das cartas do baralho.
Specified by:
getFactoryCarta in interface BaralhoIF
Returns:
O objeto criador de cartas.

criaCarta

private CartaIF criaCarta(int valor,
                          int naipe)
Cria uma carta para este baralho.
Parameters:
valor - O valor da carta a criar.
naipe - O naipe da carta a criar.
Returns:
A carta criada.

menorValor

public int menorValor()
Recupera o valor da menor carta possível deste baralho. É possível fazer um laço de menorValor() até maiorValor() para varrer todos os valores possíveis de cartas.
Specified by:
menorValor in interface BaralhoIF
Returns:
O menor valor.

maiorValor

public int maiorValor()
Recupera o valor da maior carta possível deste baralho. É possível fazer um laço de menorValor() até maiorValor() para varrer todos os valores possíveis de cartas.
Specified by:
maiorValor in interface BaralhoIF
Returns:
O maior valor.

primeiroNaipe

public int primeiroNaipe()
Recupera o "primeiro naipe" das cartas que podem estar no baralho. Ser "primeiro naipe" não significa muita coisa, já que naipes não tem valor (um naipe não é menor ou maior que o outro). Fala-se de "primeiro naipe" e "último naipe" para poder fazer um laço de primeiroNaipe() até últimoNaipe() para varrer todos os naipes possíveis de cartas.
Specified by:
primeiroNaipe in interface BaralhoIF
Returns:
O primeiro naipe.

ultimoNaipe

public int ultimoNaipe()
Recupera o "último naipe" das cartas que podem estar no baralho. Ser "último naipe" não significa muita coisa, já que naipes não tem valor (um naipe não é menor ou maior que o outro). Fala-se de "primeiro naipe" e "último naipe" para poder fazer um laço de primeiroNaipe() até últimoNaipe() para varrer todos os naipes possíveis de cartas.
Specified by:
ultimoNaipe in interface BaralhoIF
Returns:
O primeiro naipe.

numeroDeCartas

public int numeroDeCartas()
Recupera o numero de cartas atualmente no baralho.
Specified by:
numeroDeCartas in interface BaralhoIF
Returns:
O numero de cartas no baralho.

iterator

public java.util.Iterator iterator()
Recupera um iterador para poder varrer todas as cartas do baralho.
Specified by:
iterator in interface BaralhoIF
Returns:
Um iterador do baralho.

baralhar

public void baralhar()
Baralha (traça) o baralho.
Specified by:
baralhar in interface BaralhoIF

baralhar

public void baralhar(long semente)
Baralha (traça) o baralho de acordo com um numero (semente).
Specified by:
baralhar in interface BaralhoIF

pegaCarta

public CartaIF pegaCarta()
Retira uma carta do topo do baralho e a retorna. A carta é removida do baralho.
Specified by:
pegaCarta in interface BaralhoIF
Returns:
A carta retirada do baralho.

pegaCarta

public CartaIF pegaCarta(int posicao)
Recupera a carta que estiver em uma dada posicao do baralho.
Specified by:
pegaCarta in interface BaralhoIF
Parameters:
posicao - A posicao da carta a ser recuperada no baralho.

insereCarta

public void insereCarta(int posicao,
                        CartaIF carta)
Insere uma nova carta em uma dada posicao do baralho.
Specified by:
insereCarta in interface BaralhoIF
Parameters:
posicao - A posicao da carta a ser inserida no baralho.
carta - A nova carta a ser inserida.
See Also:
CartaIF

substituiCarta

public void substituiCarta(int posicao,
                           CartaIF carta)
Substitui uma carta por outra em em uma dada posicao do baralho.
Specified by:
substituiCarta in interface BaralhoIF
Parameters:
posicao - A posicao da carta a ser substituída no baralho.
carta - A nova carta a ser incluída no baralho.
See Also:
CartaIF

removeCarta

public CartaIF removeCarta(int posicao)
Remove e retorna a carta que estiver na posição especificada por posicao.
Specified by:
removeCarta in interface BaralhoIF
Parameters:
posicao - A posição da carta que deve ser removida.
Returns:
A carta que acabou de ser removida.

equals

public boolean equals(java.lang.Object objeto)
Testa a igualdade de um objeto com este baralho.
Specified by:
equals in interface BaralhoIF
Parameters:
objeto - O objeto a comparar com este baralho.
Returns:
true se o objeto for igual a este baralho, false caso contrário.
Overrides:
equals in class java.lang.Object