fw.jogoCartas
Class VerificadorRegrasAcesUp

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

public class VerificadorRegrasAcesUp
extends java.lang.Object
implements VerificadorRegrasIF, java.io.Serializable

Um objeto desta classe verifica as regras do jogo Aces Up.

See Also:
Serialized Form

Field Summary
private  int pontuacao
          Um valor que indica a pontuação do jogo corrente.
 
Constructor Summary
VerificadorRegrasAcesUp()
          Cria um novo verificador para o jogo .
 
Method Summary
private  void estoqueParaPilhas(PilhaIF fonte, ColecaoPilhasIF pilhas)
          Retira as 4 cartas do topo do estoque e insere uma em cada pilha.
 java.lang.String getPontuacao()
          Retorna a pontuação do jogo corrente.
 java.lang.String getRegras()
          Retorna um texto contendo as regras do jogo Aces Up.
 boolean iniciarEstoquePermitido()
          Indica se a pilha estoque pode ser novamente reinicializada após todas as suas cartas terem sido descartadas.
 void joga(java.lang.String fonte, java.lang.String destino, ColecaoPilhasIF pilhas)
          Move a carta do topo da pilha fonte para o topo da pilha destino, se for possível, de acordo com as regras do jogo Aces Up.
private  void pilhaParaFundacao(PilhaIF fonte, PilhaIF destino, ColecaoPilhasIF pilhas)
          Move uma carta de uma das pilhas para a fundacao.
private  void pilhaParaPilha(PilhaIF fonte, PilhaIF destino)
          Move uma carta de uma das pilhas para outra pilha.
 boolean verificaSeVenceu(ColecaoPilhasIF pilhas)
          Informa se o jogador ja' venceu o jogo.
 void zeraPontuacao()
          Zera a pontuação do jogo.
 
Methods inherited from class java.lang.Object
, clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

pontuacao

private int pontuacao
Um valor que indica a pontuação do jogo corrente.
Constructor Detail

VerificadorRegrasAcesUp

public VerificadorRegrasAcesUp()
Cria um novo verificador para o jogo .
Method Detail

joga

public void joga(java.lang.String fonte,
                 java.lang.String destino,
                 ColecaoPilhasIF pilhas)
          throws JogadaNaoPermitidaException
Move a carta do topo da pilha fonte para o topo da pilha destino, se for possível, de acordo com as regras do jogo Aces Up.
Specified by:
joga in interface VerificadorRegrasIF
Parameters:
fonte - O nome da pilha fonte.
destino - O nome da pilha destino.
pilhas - A coleção de pilhas do jogo.
Throws:
JogadaNaoPermitidaException - Quando a jogada não for condizente com as regras do jogo.

estoqueParaPilhas

private void estoqueParaPilhas(PilhaIF fonte,
                               ColecaoPilhasIF pilhas)
                        throws JogadaNaoPermitidaException
Retira as 4 cartas do topo do estoque e insere uma em cada pilha.

pilhaParaFundacao

private void pilhaParaFundacao(PilhaIF fonte,
                               PilhaIF destino,
                               ColecaoPilhasIF pilhas)
                        throws JogadaNaoPermitidaException
Move uma carta de uma das pilhas para a fundacao. Este movimento só é permitido quando existir no topo de uma das outras três pilhas uma carta do mesmo naipe e com maior valor.
Parameters:
fonte - A pilha de onde a carta será retirada para a fundação.
Throws:
JogadaNaoPermitidaException - Quando a jogada não for condizente com as regras do jogo.

pilhaParaPilha

private void pilhaParaPilha(PilhaIF fonte,
                            PilhaIF destino)
                     throws JogadaNaoPermitidaException
Move uma carta de uma das pilhas para outra pilha. Este movimento só é permitido quando a pilha destino estiver vazia.
Parameters:
fonte - A pilha de onde a carta será retirada para a pilha destino.
destino - A pilha para onde a carta será movida.
Throws:
JogadaNaoPermitidaException - Quando a jogada não for condizente com as regras do jogo.

verificaSeVenceu

public boolean verificaSeVenceu(ColecaoPilhasIF pilhas)
Informa se o jogador ja' venceu o jogo.
Specified by:
verificaSeVenceu in interface VerificadorRegrasIF
Parameters:
pilhas - As pilhas do jogo que deve ser verificado.
Returns:
true se ja' venceu e false caso contrario.

getRegras

public java.lang.String getRegras()
Retorna um texto contendo as regras do jogo Aces Up.
Specified by:
getRegras in interface VerificadorRegrasIF
Returns:
As regras do jogo.

getPontuacao

public java.lang.String getPontuacao()
Retorna a pontuação do jogo corrente. Sempre inicia com zero.
Specified by:
getPontuacao in interface VerificadorRegrasIF
Returns:
A pontuação do jogo corrente.

iniciarEstoquePermitido

public boolean iniciarEstoquePermitido()
Indica se a pilha estoque pode ser novamente reinicializada após todas as suas cartas terem sido descartadas.
Specified by:
iniciarEstoquePermitido in interface VerificadorRegrasIF
Returns:
True se o estoque pode ser reinicializado e false caso contrário.

zeraPontuacao

public void zeraPontuacao()
Zera a pontuação do jogo. Indica que um novo jogo deve ser iniciado.
Specified by:
zeraPontuacao in interface VerificadorRegrasIF