|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object mt.Jogador
public abstract class Jogador
Base para os diversos tipos de jogador que podem participar de um jogo.
A classe Jogo se conecta em quatro instâncias desta classe para iniciar uma partida. Ela informa os eventos do jogo (ex.: uma carta foi jogada, é a vez do jogador, fim de rodada, etc.) chamando os métodos apropriados. Estes métodos devem ser encarados como mensagens, e, sempre que necessário, processados assíncronamente.
É importante notar que os métodos são acionados independente do jogador. Por exemplo, se o jogador quer jogar uma carta (chaamndo o método jogaCarta do Jogo), e a jogada é válida, todos os jogadores (inclusive quem jogou) receberão a mensagem cartaJogada().
O tipo de subclasse determina se o jogador é o usuário do celular, um jogador virtual ou um jogador de outro celular conectado remotamente.
Field Summary | |
---|---|
(package private) static Estrategia[] |
ESTRATEGIAS
Estratégias suportadas pelos jogadores automático (CPU e Bot) |
protected Jogo |
jogo
Jogo que está sendo jogado por este jogador |
(package private) static java.lang.String[] |
opcoesEstrategia
Lista de opções de estratégia para comboboxes (tem os nomes e a última opção é a de sorteio |
Constructor Summary | |
---|---|
Jogador()
|
Method Summary | |
---|---|
abstract void |
aceitouAumentoAposta(Jogador j,
int valor)
Informa que o jogador aceitou um pedido de aumento de aposta. |
abstract void |
cartaJogada(Jogador j,
Carta c)
Informa que uma carta foi jogada na mesa. |
static Estrategia |
criaEstrategiaPeloNome(java.lang.String nomeEstrategia)
Instancia uma estratégia (para uso em jogadores que precisam disso, como o JogadorBot ou o JogadorCPU ). |
abstract void |
decidiuMao11(Jogador j,
boolean aceita)
Informa que um jogador fez sua escolha de topar ou não uma rodada quando sua equipe tinha 11 pontos |
Carta[] |
getCartas()
|
int |
getEquipe()
Recupera a equipe em que este jogador está (assumindo que ele já esteja aceito em um jogo) |
int |
getEquipeAdversaria()
|
java.lang.String |
getNome()
Nome do jogador (em jogos multiplayer) |
int |
getParceiro()
Recupera a posição do parceiro |
int |
getPosicao()
Recupera a posição do jogador no jogo |
abstract void |
informaMao11(Carta[] cartasParceiro)
Informa que o jogador é beneficiário de uma "mão de 11", e, portanto, deve decidir se aceita ou não esta rodada (se aceitar vale 3 pontos, se ambos recusarem perde 1) |
abstract void |
inicioMao()
Informa ao jogador que uma nova mão está iniciando. |
abstract void |
inicioPartida()
Informa que uma partida começou. |
abstract void |
jogoAbortado(int posicao)
Informa que o jogo foi abandonado por alguma causa externa (ex.: um jogador desistiu) |
abstract void |
jogoFechado(int numEquipeVencedora,
int[] vaquinhasNoPasto)
Informa que o jogo foi concluído |
abstract void |
maoFechada(int[] pontosEquipe,
int[] vaquinhasNoPasto)
Informa que a mão foi concluída |
abstract void |
pediuAumentoAposta(Jogador j,
int valor)
Informa que um jogador pediu aumento de aposta (truco, seis, etc.). |
boolean |
possuiCarta(Carta c)
|
abstract void |
recusouAumentoAposta(Jogador j)
Informa que o jogador recusou um pedido de aumento de aposta. |
abstract void |
rodadaFechada(int numRodada,
int resultado,
Jogador jogadorQueTorna)
Informa o jogador que a rodada foi fechada |
void |
setCartas(Carta[] cartas)
|
void |
setNome(java.lang.String nome)
|
void |
setPosicao(int posicao)
|
abstract void |
vez(Jogador j,
boolean podeFechada)
Informa que é a vez de um jogador jogar. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected Jogo jogo
static Estrategia[] ESTRATEGIAS
static java.lang.String[] opcoesEstrategia
Constructor Detail |
---|
public Jogador()
Method Detail |
---|
public java.lang.String getNome()
public void setNome(java.lang.String nome)
public int getPosicao()
public void setPosicao(int posicao)
public int getEquipe()
public int getParceiro()
public int getEquipeAdversaria()
public void setCartas(Carta[] cartas)
public Carta[] getCartas()
public boolean possuiCarta(Carta c)
public abstract void cartaJogada(Jogador j, Carta c)
j
- Jogador que jogou a cartac
- Carta jogadapublic abstract void inicioMao()
Ao receber esta mensagem, as cartas do jogador já foram atribuídas via setCartas(), e a carta virada já está disponível via getCarta().
public abstract void inicioPartida()
public abstract void vez(Jogador j, boolean podeFechada)
j
- Jogador cuja vez chegoupodeFechada
- true se o jogador pode jogar carta fechada, false se não podpublic abstract void pediuAumentoAposta(Jogador j, int valor)
j
- Jogador que pediu o aumentovalor
- Quanto a mão passará a valar se algum adversário aceitarpublic abstract void aceitouAumentoAposta(Jogador j, int valor)
j
- Jogador que aceitou o aumentovalor
- Quanto a mão está valendo agorapublic abstract void recusouAumentoAposta(Jogador j)
Obs.: isso não impede que o outro jogador da dupla aceite o pedido, é apenas para notificação visual. Se o segundo jogdor recusar o pedido, a mensagem de derrota da dupla será enviada logo em seguida.
j
- Jogador que recusou o pedido.public abstract void rodadaFechada(int numRodada, int resultado, Jogador jogadorQueTorna)
numRodada
- 1 a 3, rodada que foi fechadaresultado
- 1 se a equipe 1+3 venceu, 2 se a equipe 2+4 venceu, 3 se
empatoujogadorQueTorna
- jogador que venceu a rodada (e que irá "tornar"), ou null se
for empatepublic abstract void maoFechada(int[] pontosEquipe, int[] vaquinhasNoPasto)
pontosEquipe
- Array com os pontos da equipe 1 e 2 (índices 0 e 1)vaquinhasNoPasto
- Array com os pontos com relação ao número de partidas das
equipes 1 e 2 (índices 0 e 1)public abstract void jogoFechado(int numEquipeVencedora, int[] vaquinhasNoPasto)
numEquipeVencedora
- Equipe que ganhou o jogo (1 ou 2)vaquinhasNoPasto
- Array com os pontos com relação ao número de partidas das
equipes 1 e 2 (índices 0 e 1)public abstract void decidiuMao11(Jogador j, boolean aceita)
j
- Jogador que fez a escolhaaceita
- true se o jogador topou, false se recusoupublic abstract void informaMao11(Carta[] cartasParceiro)
cartasParceiro
- Cartas do parceiroJogo.decideMao11(Jogador, boolean)
public abstract void jogoAbortado(int posicao)
posicao
- Posição do jogador que abortoupublic static Estrategia criaEstrategiaPeloNome(java.lang.String nomeEstrategia)
JogadorBot
ou o JogadorCPU
).
nomeEstrategia
- Nome da estratégia (ex.: "Willian"). Se nenhuma estratégia se
identificar por aquele nome, sorteia uma aleatória
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |