|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--p1.aplic.mancala.jogo.UmJogo
Regras deste jogo de Mancala (também chamado Kalaha). Mancala é jogado com sete buracos -- seis buracos de jogo e um buraco de pontuação, a Kalaha -- por jogador. No início do jogo, cada um dos 12 buracos de jogo contém 3 sementes (ou contas, ou pedras, ou bolas, ...). Para jogar, o jogador escolhe um buraco a partir do qual ele vai "semear" as sementes. Cada semente do buraco é colocada, uma de cada vez, em buracos sucessivos, movendo-se em sentido anti-horário. Sementes colocadas numa Kalaha são pontos para o dono da Kalaha. Sementes não são colocadas na Kalaha do oponente. Se a última semente cair na Kalaha do jogador, ele pode jogar novamente Se a última semente cair num buraco vazio do próprio jogador, ele captura as sementes do buraco oposto e as transfere para sua Kalaha Todas as sementes capturadas, além da semente que fez a captura, são colocadas na Kalaha do jogador. O jogo termina quando todos os buracos em algum lado do tabuleiro estejam vazios. O jogador com sementes em jogo os recolhe para sua Kalaha. O ganhador é o jogador com mais sementes na sua Kalaha.
Fields inherited from interface p1.aplic.mancala.jogo.JogoMancala |
COM_EVENTO, SEM_EVENTO |
Constructor Summary | |
UmJogo(Jogador jogador1,
Jogador jogador2)
Construtor de um jogo de Mancala com dois jogadores. |
Method Summary | |
void |
addMancalaListener(MancalaListener l)
Adiciona um listener interessado em receber eventos do jogo. |
boolean |
fimDeJogo()
Verifica se o jogo acabou. |
Jogador |
getGanhador()
Obtém o jogador que ganhou a partida. |
Jogador |
getJogador(int númeroDoJogador)
Obtém um jogador através do seu número. |
Jogador |
getJogadorAtual()
Obtem o jogador cuja vez é de jogar. |
Buraco |
getKalaha(Jogador jogador)
Obtem a Kalaha do jogador indicado. |
Tabuleiro |
getTabuleiro()
Obtém o tabuleiro sendo usado para o jogo. |
void |
iniciaJogo()
Avisa ao jogo que queremos iniciar. |
void |
removeMancalaListener(MancalaListener l)
Remove um listener não mais interessado em receber eventos do jogo. |
void |
setTabuleiro(Tabuleiro tabuleiro)
Altera o tabuleiro sendo usado para o jogo. |
Jogador |
umaJogada(int indexBuraco,
int querEvento)
Faz uma jogada para o jogadorAtual do jogo no buraco indicado por indexBuraco. |
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public UmJogo(Jogador jogador1, Jogador jogador2)
jogador1
- O primeiro jogador.jogador2
- O segundo jogador.Method Detail |
public Tabuleiro getTabuleiro()
getTabuleiro
in interface JogoMancala
public void setTabuleiro(Tabuleiro tabuleiro)
setTabuleiro
in interface JogoMancala
tabuleiro
- O tabuleiro a usar.public Jogador getJogadorAtual()
getJogadorAtual
in interface JogoMancala
public Jogador getJogador(int númeroDoJogador)
getJogador
in interface JogoMancala
númeroDoJogador
- o número do jogador (0 = em baixo, 1 = em cima).public Jogador getGanhador()
getGanhador
in interface JogoMancala
public Buraco getKalaha(Jogador jogador)
getKalaha
in interface JogoMancala
jogador
- O jogador cuja Kalaha se deseja.public void iniciaJogo()
iniciaJogo
in interface JogoMancala
public Jogador umaJogada(int indexBuraco, int querEvento) throws MancalaException
umaJogada
in interface JogoMancala
indexBuraco
- O índice (de 0 a 5) do buraco escolhido.querEvento
- igual a SEM_EVENTO, para uma jogada que não aparecer na interface com o usuário.
Seria o caso para estratégias de jogadores automatizados que querem tentar várias jogadas.
Uma jogada normal (com efeito total) usa COM_EVENTO.MancalaException
- se um buraco ilegal for escolhido.public boolean fimDeJogo()
fimDeJogo
in interface JogoMancala
public void addMancalaListener(MancalaListener l)
addMancalaListener
in interface JogoMancala
listener
- O objeto que deseja receber os eventos do jogo.public void removeMancalaListener(MancalaListener l)
listener
- O listener a ser descadastrado.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |