|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--fw.jogoCartas.Jogo
E' a classe controladora do framework. Define todos os métodos necessários
para manipular alguns tipos de jogo de cartas, tais como Aces Up,
Captive Queens e Baker's Dozen.
As propriedades criadorBaralho
, distribuidorCartas
,
verificadorRegras
e populadorPilhas
devem ser fornecidas
pelo usuario para completar o framework e compor um novo jogo.
Os componentes que devem ser plugados aqui para formar os jogos Aces Up,
Baker's Dozen e Captive Queens ja' sao disponibilidos pelo framework, mas
esta versao do framework impoe que novos componentes deverao ser criados se
outros jogos alem destes forem desejados. Ao criar estes novos componentes
as interfaces FactoryBaralhoIF, DistribuidorCartasIF,
VerificadorRegrasIF e PopuladorPilhasIF devem ser implementadas.
Uma versao mais bem elaborada do framework deveria possuir componentes de menor
granularidade que nao impusessem a criacao de novos componentes sempre que
novos jogos fossem desejados.
Field Summary | |
private BaralhoIF |
baralho
O objeto que representa o baralho que será utilizado no jogo. |
private FactoryBaralhoIF |
criadorBaralho
Um objeto que cria o baralho utilizado no jogo. |
private DistribuidorCartasIF |
distribuidorCartas
Uma estrategia para efetuar a distribuicao inicial das cartas entre as pilhas do jogo. |
private boolean |
jogoIniciado
Indica se o jogo ja foi iniciado. |
private ColecaoPilhasIF |
pilhas
A colecao de pilhas do jogo. |
private PopuladorPilhasIF |
populadorPilhas
Uma estrategia para criar as pilhas deste jogo. |
private boolean |
venceu
Um valor booleano que indica se o jogador já venceu o jogo. |
private VerificadorRegrasIF |
verificadorRegras
Uma estrategia para verificar se a jogada solicitada e' permitida de acordo com as regras do jogo. |
Constructor Summary | |
Jogo()
Cria um novo jogo e atribui valores nulos aos seus atributos. |
|
Jogo(FactoryBaralhoIF criador,
DistribuidorCartasIF distribuidor,
VerificadorRegrasIF verificador,
PopuladorPilhasIF populador)
Cria um novo jogo e inicializa os seus atributos com os valores recebidos como parametros. |
Method Summary | |
java.lang.String |
getCarta(java.lang.String nomePilha)
Retorna o nome da carta que estiver na pilha identificada por nomePilha . |
java.lang.String |
getCartaAt(java.lang.String nomePilha,
int indice)
Retorna o nome da carta que estiver na posição indice
da pilha identificada por nomePilha . |
FactoryBaralhoIF |
getCriadorBaralho()
Retorna o criador de baralho deste jogo. |
DistribuidorCartasIF |
getDistribuidorCartas()
Retorna o distribuidor de cartas deste jogo. |
java.lang.String |
getPontuacao()
Retorna a pontuação do jogo corrente. |
PopuladorPilhasIF |
getPopuladorPilhas()
Retorna o populador de pilhas deste jogo. |
java.lang.String |
getRegras()
Retorna todas as regras do jogo, além de algumas dicas. |
boolean |
getVenceu()
Retorna o valor que indica se o jogador já venceu o jogo. |
VerificadorRegrasIF |
getVerificadorRegras()
Retorna o verificador de regras deste jogo. |
boolean |
iniciarEstoquePermitido()
Indica se a pilha estoque do jogo ainda pode ser reinicializada. |
void |
iniciarJogo()
Baralha e faz a distribuição inicial das cartas. |
void |
iniciarJogo(long numJogo)
Baralha as cartas a partir de um número de jogo e faz a distribuição inicial das cartas. |
void |
joga(java.lang.String fonte,
java.lang.String destino)
Permite que uma carta seja movida de uma pilha para outra. |
int |
numCartas(java.lang.String nomePilha)
Retorna o número de cartas existentes na pilha identificada por nomePilha . |
void |
setCriadorBaralho(FactoryBaralhoIF criador)
Atribui um novo criador de Baralho. |
void |
setDistribuidorCartas(DistribuidorCartasIF distribuidor)
Atribui um novo distribuidor de cartas. |
void |
setPopuladorPilhas(PopuladorPilhasIF populador)
Atribui um novo populador de pilhas. |
void |
setVerificadorRegras(VerificadorRegrasIF verificador)
Atribui um novo verificador de regras. |
Methods inherited from class java.lang.Object |
|
Field Detail |
private ColecaoPilhasIF pilhas
private BaralhoIF baralho
BaralhoIF
private boolean venceu
private boolean jogoIniciado
private PopuladorPilhasIF populadorPilhas
private FactoryBaralhoIF criadorBaralho
private DistribuidorCartasIF distribuidorCartas
private VerificadorRegrasIF verificadorRegras
Constructor Detail |
public Jogo()
public Jogo(FactoryBaralhoIF criador, DistribuidorCartasIF distribuidor, VerificadorRegrasIF verificador, PopuladorPilhasIF populador)
criador
- O objeto criador do baralho.distribuidor
- O objeto que ira' efetuar a distribuicao inicial das
cartas entre as pilhas do jogo.verificador
- O objeto que conhece as regras do jogo.populador
- O objeto que ira' criar as pilhas do jogo.Method Detail |
public void iniciarJogo()
public void iniciarJogo(long numJogo)
numJogo
- Um número que será utilizado para traçar o baralho.public void setPopuladorPilhas(PopuladorPilhasIF populador)
populador
- O novo populador de pilhas do jogo.public PopuladorPilhasIF getPopuladorPilhas()
public void setCriadorBaralho(FactoryBaralhoIF criador)
criador
- O novo criador de baralhos do jogo.public FactoryBaralhoIF getCriadorBaralho()
public void setDistribuidorCartas(DistribuidorCartasIF distribuidor)
distribuidor
- O novo distribuidor de cartas do jogo.public DistribuidorCartasIF getDistribuidorCartas()
public void setVerificadorRegras(VerificadorRegrasIF verificador)
verificador
- O novo verificador de regras do jogo.public VerificadorRegrasIF getVerificadorRegras()
public void joga(java.lang.String fonte, java.lang.String destino) throws JogadaNaoPermitidaException
fonte
- O nome da pilha fonte.destino
- O nome da pilha destino.public java.lang.String getPontuacao()
public java.lang.String getRegras()
public boolean getVenceu()
public java.lang.String getCarta(java.lang.String nomePilha)
nomePilha
.nomePilha
- O nome de uma pilha.nomePilha
.public java.lang.String getCartaAt(java.lang.String nomePilha, int indice)
indice
da pilha identificada por nomePilha
.nomePilha
- O nome de uma pilha.indice
- A posição da carta na pilha.indice
de nomePilha
.public int numCartas(java.lang.String nomePilha)
nomePilha
.nomePilha
- O nome de uma pilha.public boolean iniciarEstoquePermitido()
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |