|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object mt.Jogo mt.JogoBT
public class JogoBT
Representa, no cliente, o Jogo
que está executando no
servidor.
De maneira análoga à JogadorBT
, ela converte as notificações
do jogador local em mensagens de texto (enviando-as ao servidor) e recebe
mensagens de texto do servidor, transformando-as em notificações para o
jogador local.
A conexão é gerenciada por ClienteBT
, já que uma conexão pode
ser usada em jogos sucessivos.
Field Summary |
---|
Fields inherited from class mt.Jogo |
---|
cartaDaMesa, cartasJogadasPorRodada, jogoFinalizado, letrasOrdenadas, log, modoCE, numJogadores, numRodadaAtual, pontosEquipe, vaquinhasNoPasto |
Constructor Summary | |
---|---|
JogoBT(ClienteBT clienteBT)
Cria um novo proxy de jogo remoto associado a um cliente |
Method Summary | |
---|---|
void |
atualizaSituacao(SituacaoJogo s,
Jogador j)
Não implementado em jogo bluetooth (apenas o JogadorCPU usa isso, e ele não participa desses jogos). |
void |
aumentaAposta(Jogador j)
Informa que o jogador solicitou um aumento de aposta ("truco", "seis", etc.). |
void |
decideMao11(Jogador j,
boolean aceita)
Informa ao jogo o resultado de aceite daquela mão de 11 |
void |
enviaLinha(java.lang.String linha)
Manda um comando para o celular do servidor. |
JogadorHumano |
getJogadorHumano()
Retorna o jogador humano que está no jogo |
boolean |
isBaralhoLimpo()
|
boolean |
isManilhaVelha()
|
void |
jogaCarta(Jogador j,
Carta c)
Informa que o jogador vai descartar aquela carta. |
void |
processaNotificacao(char tipoNotificacao,
java.lang.String parametros)
Processa uma notificação "in-game", gerando o evento apropriado no jogador humano |
void |
respondeAumento(Jogador j,
boolean aceitou)
Informa que o jogador respondeu a um pedido de aumento de aposta |
void |
run()
Inicia o jogo. |
Methods inherited from class mt.Jogo |
---|
abortaJogo, adiciona, getCartasDaRodada, getJogador, getManilha, getValorTruco, getValorTruco, isAlguemTem11Pontos, log, setManilha |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JogoBT(ClienteBT clienteBT)
clienteBT
- Cliente que se conectou no jogo remotoMethod Detail |
---|
public JogadorHumano getJogadorHumano()
public void processaNotificacao(char tipoNotificacao, java.lang.String parametros)
tipoNotificacao
- caractere identificadorparametros
- dependem do caracterepublic void atualizaSituacao(SituacaoJogo s, Jogador j)
atualizaSituacao
in class Jogo
s
- objeto a atualizarj
- Jogador que receberá a situaçãopublic boolean isBaralhoLimpo()
isBaralhoLimpo
in class Jogo
public boolean isManilhaVelha()
isManilhaVelha
in class Jogo
public void run()
Jogo
O jogo deve ser inicializado numa thread separada da principal, desta forma é mais conveniente que ele seja o Runnable desta thread, daí o nome do método.
run
in interface java.lang.Runnable
run
in class Jogo
public void enviaLinha(java.lang.String linha)
Este comando é originado de alguma ação do JogadorCPU local (jogar uma carta, pedir truco, etc.).
linha
- public void jogaCarta(Jogador j, Carta c)
Jogo
Tem que ser a vez dele e não pode haver ninguém trucando.
A rotina não verifica se o jogador realmente possuía aquela carta - assume-se que as instâncias de Jogador são honestas e se protegem de clientes remotos desonestos
jogaCarta
in class Jogo
public void decideMao11(Jogador j, boolean aceita)
Jogo
decideMao11
in class Jogo
j
- Jogador que está respondendoaceita
- true se o jogador topa jogar, false se deixar para o parceiro
decidirpublic void aumentaAposta(Jogador j)
Jogo
Os jogadores são notificados, e a aposta será efetivamente aumentada se um dos adversários responder positivamente.
Observe-se que a vez do jogador fica "suspensa", já que lançamentos de cartas só são aceitos se não houver ninguém trucando. Como o jogador atualmente só pode trucar na sua vez, isso não é problema.
aumentaAposta
in class Jogo
j
- Jogador que está solicitando o aumentopublic void respondeAumento(Jogador j, boolean aceitou)
Jogo
respondeAumento
in class Jogo
j
- Jogador que respondeu ao pedidoaceitou
- true
se ele mandou descer, false
se correu
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |