class Buraco {
public Buraco() { /* Construtor de um buraco vazio */ }
public int pegaPedras() { /* Quantas pedras no buraco? */ }
public void adicionePedras(int pedras) { /* Adicione pedras ao buraco */}
public boolean estaVazio() { /* Tem pedras no buraco */ }
public int removePedras() { /* Remove todas a pedras e retorna o numero delas */ }
}
class TabuleiroMancala {
TabuleiroMancala() { /* Contrutor de um tabuleiro com buracos */ }
public void prepareAJogar() { /* Coloca pedras nos buracos */ }
public int pedrasNaMancala(int numDoJogador) { /* Quantas pedras na mancala do jogador? */ }
public int pedrasNoBuraco(int numDoJogador, int numBuraco){ /* Quantas pedras num buraco do jogador? */ }
public TabuleiroMancala copiaTabuleiro() { /* Cria tabuleiro temporario para analisar jogadas */ }
public boolean facaJogada(int numJogadorCorrente, int numBuracoEscolhido) { /* Executa a jogada do jogador. Retorna se joga novamente */ }
public boolean partidaTerminou() { /* Verifica se partida terminou */ }
public void passaPedrasParaMancalas() { /* No fim da partida, coloca pedras remanescentes nas mancalas */ }
}