mt
Class JogadorHumano

java.lang.Object
  extended by mt.Jogador
      extended by mt.JogadorHumano
All Implemented Interfaces:
java.lang.Runnable

public class JogadorHumano
extends Jogador
implements java.lang.Runnable

Jogador interagindo no celular.

Author:
Chester

Field Summary
(package private)  int valorProximaAposta
          Valor que poderemos apostar (3=truco, 6, 9, 12) se a gente puder
 
Fields inherited from class mt.Jogador
ESTRATEGIAS, jogo, opcoesEstrategia
 
Constructor Summary
JogadorHumano(javax.microedition.lcdui.Display display, Mesa mesa)
           
 
Method Summary
 void aceitouAumentoAposta(Jogador j, int valor)
          Informa que o jogador aceitou um pedido de aumento de aposta.
 void cartaClicada(Carta c)
          Cria a thread que efetua a jogada para esta carta
 void cartaJogada(Jogador j, Carta c)
          Informa que uma carta foi jogada na mesa.
 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
 void executaComando(javax.microedition.lcdui.Command cmd)
          Executa comandos de menu (encaminhados pela midlet principal)
 javax.microedition.lcdui.Display getDisplay()
           
 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)
 void inicioMao()
          Informa ao jogador que uma nova mão está iniciando.
 void inicioPartida()
          Informa que uma partida começou.
 void jogoAbortado(int posicao)
          Informa que o jogo foi abandonado por alguma causa externa (ex.: um jogador desistiu)
 void jogoFechado(int numEquipeVencedora, int[] vaquinhasNoPasto)
          Informa que o jogo foi concluído
 void maoFechada(int[] pontosEquipe, int[] vaquinhasNoPasto)
          Informa que a mão foi concluída
 void pediuAumentoAposta(Jogador j, int valor)
          Informa que um jogador pediu aumento de aposta (truco, seis, etc.).
 void recusouAumentoAposta(Jogador j)
          Informa que o jogador recusou um pedido de aumento de aposta.
 void rodadaFechada(int numRodada, int resultado, Jogador jogadorQueTorna)
          Informa o jogador que a rodada foi fechada
 void run()
          Efetua a jogada quando uma carta é clicada (para que as animações funcionem, é necessário que as jogadas sejam feitas em uma thread separada)
 void setDisplay(javax.microedition.lcdui.Display display)
           
 void vez(Jogador j, boolean podeFechada)
          Habilita (ou desliga) a escolha de cartas, dependendo de ser ou não a vez do jogador
 
Methods inherited from class mt.Jogador
criaEstrategiaPeloNome, getCartas, getEquipe, getEquipeAdversaria, getNome, getParceiro, getPosicao, possuiCarta, setCartas, setNome, setPosicao
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

valorProximaAposta

int valorProximaAposta
Valor que poderemos apostar (3=truco, 6, 9, 12) se a gente puder

Constructor Detail

JogadorHumano

public JogadorHumano(javax.microedition.lcdui.Display display,
                     Mesa mesa)
Method Detail

cartaJogada

public void cartaJogada(Jogador j,
                        Carta c)
Description copied from class: Jogador
Informa que uma carta foi jogada na mesa.

Specified by:
cartaJogada in class Jogador
Parameters:
j - Jogador que jogou a carta
c - Carta jogada

vez

public void vez(Jogador j,
                boolean podeFechada)
Habilita (ou desliga) a escolha de cartas, dependendo de ser ou não a vez do jogador

Specified by:
vez in class Jogador
Parameters:
j - Jogador cuja vez chegou
podeFechada - true se o jogador pode jogar carta fechada, false se não pod

pediuAumentoAposta

public void pediuAumentoAposta(Jogador j,
                               int valor)
Description copied from class: Jogador
Informa que um jogador pediu aumento de aposta (truco, seis, etc.).

Specified by:
pediuAumentoAposta in class Jogador
Parameters:
j - Jogador que pediu o aumento
valor - Quanto a mão passará a valar se algum adversário aceitar

aceitouAumentoAposta

public void aceitouAumentoAposta(Jogador j,
                                 int valor)
Description copied from class: Jogador
Informa que o jogador aceitou um pedido de aumento de aposta.

Specified by:
aceitouAumentoAposta in class Jogador
Parameters:
j - Jogador que aceitou o aumento
valor - Quanto a mão está valendo agora

recusouAumentoAposta

public void recusouAumentoAposta(Jogador j)
Description copied from class: Jogador
Informa que o jogador recusou um pedido de aumento de aposta.

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.

Specified by:
recusouAumentoAposta in class Jogador
Parameters:
j - Jogador que recusou o pedido.

inicioMao

public void inicioMao()
Description copied from class: Jogador
Informa ao jogador que uma nova mão está iniciando.

Ao receber esta mensagem, as cartas do jogador já foram atribuídas via setCartas(), e a carta virada já está disponível via getCarta().

Specified by:
inicioMao in class Jogador

cartaClicada

public void cartaClicada(Carta c)
Cria a thread que efetua a jogada para esta carta

Parameters:
c - Carta que o usuário selecionou

run

public void run()
Efetua a jogada quando uma carta é clicada (para que as animações funcionem, é necessário que as jogadas sejam feitas em uma thread separada)

Specified by:
run in interface java.lang.Runnable

setDisplay

public void setDisplay(javax.microedition.lcdui.Display display)

getDisplay

public javax.microedition.lcdui.Display getDisplay()

rodadaFechada

public void rodadaFechada(int numRodada,
                          int resultado,
                          Jogador jogadorQueTorna)
Description copied from class: Jogador
Informa o jogador que a rodada foi fechada

Specified by:
rodadaFechada in class Jogador
Parameters:
numRodada - 1 a 3, rodada que foi fechada
resultado - 1 se a equipe 1+3 venceu, 2 se a equipe 2+4 venceu, 3 se empatou
jogadorQueTorna - jogador que venceu a rodada (e que irá "tornar"), ou null se for empate

maoFechada

public void maoFechada(int[] pontosEquipe,
                       int[] vaquinhasNoPasto)
Description copied from class: Jogador
Informa que a mão foi concluída

Specified by:
maoFechada in class Jogador
Parameters:
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)

jogoFechado

public void jogoFechado(int numEquipeVencedora,
                        int[] vaquinhasNoPasto)
Description copied from class: Jogador
Informa que o jogo foi concluído

Specified by:
jogoFechado in class Jogador
Parameters:
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)

inicioPartida

public void inicioPartida()
Description copied from class: Jogador
Informa que uma partida começou. Não é obrigatório tratar - até porque o inicioMao será chamado logo em seguida.

Specified by:
inicioPartida in class Jogador

decidiuMao11

public void decidiuMao11(Jogador j,
                         boolean aceita)
Description copied from class: Jogador
Informa que um jogador fez sua escolha de topar ou não uma rodada quando sua equipe tinha 11 pontos

Specified by:
decidiuMao11 in class Jogador
Parameters:
j - Jogador que fez a escolha
aceita - true se o jogador topou, false se recusou

informaMao11

public void informaMao11(Carta[] cartasParceiro)
Description copied from class: Jogador
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)

Specified by:
informaMao11 in class Jogador
Parameters:
cartasParceiro - Cartas do parceiro
See Also:
Jogo.decideMao11(Jogador, boolean)

executaComando

public void executaComando(javax.microedition.lcdui.Command cmd)
Executa comandos de menu (encaminhados pela midlet principal)

Parameters:
cmd - Comando clicado

jogoAbortado

public void jogoAbortado(int posicao)
Description copied from class: Jogador
Informa que o jogo foi abandonado por alguma causa externa (ex.: um jogador desistiu)

Specified by:
jogoAbortado in class Jogador
Parameters:
posicao - Posição do jogador que abortou