mt
Class EstrategiaWillian

java.lang.Object
  extended by mt.EstrategiaWillian
All Implemented Interfaces:
Estrategia

public class EstrategiaWillian
extends java.lang.Object
implements Estrategia

Estratégia inteligente para jogadores CPU

Author:
Willian

Constructor Summary
EstrategiaWillian()
           
 
Method Summary
 boolean aceitaMao11(Carta[] cartasParceiro, SituacaoJogo s)
          Decide se aceita iniciar uma "mão de 11"
 boolean aceitaTruco(SituacaoJogo s)
          Diz se eu aceito o truco ou não!
 void aceitouAumentoAposta(int posJogador, int valor)
          Informa que o jogador aceitou um pedido de aumento de aposta.
(package private)  int getChances(SituacaoJogo s, int indiceCarta)
          da um valor de 0-100 para as cartas
 java.lang.String getInfoEstrategia()
          Retorna uma String com informacao minhas
 java.lang.String getNomeEstrategia()
          Retorna uma string com o nome do Estrategia!
 void inicioMao()
          Notifica que uma mão está começando
 void inicioPartida()
          Notifica que uma partida está começando.
 int joga(SituacaoJogo s)
          Executa uma jogada.
 void pediuAumentoAposta(int posJogador, int valor)
          Informa que um jogador pediu aumento de aposta (truco, seis, etc.).
(package private)  int procura(int[] vetor, int limite, int x)
          Diz a quantidade de vezes que x aparece num vetor!
 void recusouAumentoAposta(int posJogador)
          Informa que o jogador recusou um pedido de aumento de aposta.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

EstrategiaWillian

public EstrategiaWillian()
Method Detail

getNomeEstrategia

public java.lang.String getNomeEstrategia()
Retorna uma string com o nome do Estrategia!

Specified by:
getNomeEstrategia in interface Estrategia

getInfoEstrategia

public java.lang.String getInfoEstrategia()
Retorna uma String com informacao minhas

Specified by:
getInfoEstrategia in interface Estrategia

joga

public int joga(SituacaoJogo s)
Description copied from interface: Estrategia
Executa uma jogada.

Observe que, ao pedir aumento, o sistema irá interagir com a outra dupla. Se a partida seguir, o método será chamado novamente para efetivar a real jogada.

A estratégia é responsável por checar se o valor da próxima aposta é diferente de 0 e só pedir aumento nesta situação.

Specified by:
joga in interface Estrategia
Parameters:
s - Situação do jogo no momento
Returns:
posição da carta na mão a jogar (em letrasCartasJogador), ou -1 para pedir truco

procura

int procura(int[] vetor,
            int limite,
            int x)
Diz a quantidade de vezes que x aparece num vetor!

Parameters:
vetor -
limite -
x -
Returns:

getChances

int getChances(SituacaoJogo s,
               int indiceCarta)
da um valor de 0-100 para as cartas

Parameters:
s - Situação atual do jogo
indiceCarta - índice (0 a 2) da carta do jogador que estamos avaliando
Returns:

aceitaTruco

public boolean aceitaTruco(SituacaoJogo s)
Diz se eu aceito o truco ou não!

Specified by:
aceitaTruco in interface Estrategia
Parameters:
s - Situação do jogo no momento
Returns:
true para aceitar, false para desistir

inicioPartida

public void inicioPartida()
Description copied from interface: Estrategia
Notifica que uma partida está começando.

Specified by:
inicioPartida in interface Estrategia

inicioMao

public void inicioMao()
Description copied from interface: Estrategia
Notifica que uma mão está começando

Specified by:
inicioMao in interface Estrategia

pediuAumentoAposta

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

Specified by:
pediuAumentoAposta in interface Estrategia
Parameters:
posJogador - Jogador que pediu o aumento
valor - Quanto a rodada passará a valar se algum adversário aceitar

aceitouAumentoAposta

public void aceitouAumentoAposta(int posJogador,
                                 int valor)
Description copied from interface: Estrategia
Informa que o jogador aceitou um pedido de aumento de aposta.

Specified by:
aceitouAumentoAposta in interface Estrategia
Parameters:
posJogador - Jogador que aceitou o aumento
valor - Quanto a rodada está valendo agora

recusouAumentoAposta

public void recusouAumentoAposta(int posJogador)
Description copied from interface: Estrategia
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 interface Estrategia
Parameters:
posJogador - Jogador que recusou o pedido.

aceitaMao11

public boolean aceitaMao11(Carta[] cartasParceiro,
                           SituacaoJogo s)
Description copied from interface: Estrategia
Decide se aceita iniciar uma "mão de 11"

Specified by:
aceitaMao11 in interface Estrategia
Parameters:
cartasParceiro - cartas que o parceiro possui
Returns:
true para iniciar valendo 3 pontos, false para desistir e perder 1 ponto