Open TCriGa opened 7 months ago
As regras são:
As casas são numeradas sequencialmente iniciando por 1.
Cada jogador possui uma peça que marcará sua posição no tabuleiro. O jogador pode decidir, na sua vez de jogar, após lançado o dado, se vai movimentar a sua peça no sentido horário (da esquerda para a direita, utilizando o método getProximo()) ou no anti-horário (da direita para a esquerda, utilizando o método getAnterior()).
Cada casa do tabuleiro tem 3 possíveis status: livre, marcada e proprietária:
- Ao cair em uma casa livre, esta será marcada a favor do jogador.
- Ao cair em uma casa marcada por outro jogador, esta será desmarcada e voltará ao status livre.
O jogador, ao cair pela segunda vez em uma casa anteriormente marcada por ele, passará a ser proprietário desta casa.
O jogador que cair em uma casa proprietária de outro jogador não joga na próxima rodada.
O jogador que conquistar uma casa contígua a outra de sua propriedade, ganha uma nova casa, já com o status de sua propriedade, a ser inserida entre as duas primeiras. As casas deverão ser renumeradas para manter a sequência numérica.
O jogador que conquistar 2 casas, uma de cada lado de uma casa proprietária de outro jogador, destrói esta casa (extrai da lista, devendo também ser feito o acerto da numeração). Esta regra só é válida para o caso de 2 casasenvolverem 1. Duas ou mais casas contíguas, de propriedade do mesmo jogador, não podem mais ser eliminadas.
O jogo se encerra em duas possíveis situações (a que ocorrer primeiro):
a. Após a quantidade de jogadas estabelecidas no início do jogo.
- Ganha quem tiver mais casas proprietárias com os seguintes critérios de desempate:
i. Soma das casas marcadas
ii. Quantidade de ligações entre casas de mesma propriedade (2 casas tem 1 ligação)
b. Quando a soma de casas de propriedade de um jogador for maior que a soma das casas proprietárias do segundo jogador com maior número de casas proprietária somadas às casas livres.
Exercício proposto no curso Udemy sobre L2L Circular