fw.jogoCartas
Interface BaralhoIF

All Known Implementing Classes:
Baralho

public abstract interface BaralhoIF

A interface de 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

Method Summary
 void baralhar()
          Baralha (traça) o baralho.
 void baralhar(long semente)
          Baralha (traça) o baralho de acordo com um numero (semente).
 boolean equals(java.lang.Object objeto)
          Testa a igualdade de um objeto com este baralho.
 BaralhadorIF getBaralhador()
          Retorna o baralhador em uso.
 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 baralhador)
          Estabelece uma nova estrategia para baralhar o baralho.
 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.
 

Method Detail

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.
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.
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.
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.
Returns:
O primeiro naipe.

numeroDeCartas

public int numeroDeCartas()
Recupera o numero de cartas atualmente no baralho.
Returns:
O numero de cartas no baralho.

iterator

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

baralhar

public void baralhar()
Baralha (traça) o baralho.

baralhar

public void baralhar(long semente)
Baralha (traça) o baralho de acordo com um numero (semente).

pegaCarta

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

setBaralhador

public void setBaralhador(BaralhadorIF baralhador)
Estabelece uma nova estrategia para baralhar o baralho.
Parameters:
baralhador - A nova estrategia de tracar o baralho.

getBaralhador

public BaralhadorIF getBaralhador()
Retorna o baralhador em uso.
Returns:
O objeto responsavel por baralhar as cartas do baralho.

setFactoryCarta

public void setFactoryCarta(FactoryCartaIF factory)
Atribui uma nova factory de cartas ao baralho.
Parameters:
factory - A factory de cartas que deve ser atribuída.

getFactoryCarta

public FactoryCartaIF getFactoryCarta()
Retorna o objeto criador das cartas do baralho.
Returns:
O objeto criador de cartas.

pegaCarta

public CartaIF pegaCarta(int posicao)
Recupera a carta que estiver em uma dada posicao do baralho.
Parameters:
posicao - A posicao da carta a ser recuperada no baralho.
Returns:
A carta que estiver na posição posicao do baralho.

insereCarta

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

removeCarta

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

substituiCarta

public void substituiCarta(int posicao,
                           CartaIF carta)
Substitui uma carta por outra em em uma dada posicao do baralho.
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

equals

public boolean equals(java.lang.Object objeto)
Testa a igualdade de um objeto com este baralho.
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