Um campeonato de dominós para robôs, desenvolvido como exercício de LP2 (Programação Orientada a Objetos em Java) na Computação@UFCG.
Dominó Brutal é um projeto educacional que implementa um jogo de dominó onde os jogadores são controlados por diferentes estratégias (robôs). O objetivo é permitir que estudantes pratiquem conceitos de Programação Orientada a Objetos através da implementação de estratégias de jogo.
- Clone o repositório
- Compile o projeto usando seu IDE Java preferido ou via linha de comando
- Execute a classe
DominoBrutal
para jogar uma partida única - Execute a classe
DominoBrutalRepetido
para analisar o desempenho de diferentes estratégias
Jogo.java
: Gerencia o fluxo do jogo e as regrasJogador.java
: Representa um jogador com sua estratégia e peçasMesa.java
: Gerencia o tabuleiro onde as peças são colocadasPeca.java
: Representa uma peça de dominóJogada.java
: Representa uma jogada no jogo
O projeto utiliza um sistema de estratégias implementado através da interface EstrategiaDeJogo
. Cada estratégia define como um jogador deve tomar suas decisões durante o jogo.
O projeto inclui uma suíte de testes abrangente. Para entender o design do projeto, comece analisando os testes de unidade, especialmente JogoTest.java
.
Para criar uma nova estratégia:
- Implemente a interface
EstrategiaDeJogo
- Defina sua lógica de decisão no método
decideJogada
- Teste sua estratégia contra as existentes usando
DominoBrutalRepetido
- Encapsulamento
- Herança
- Polimorfismo
- Interfaces
- Exceções
- Coleções Java
O nome "Dominó Brutal" é uma referência ao desenho Irmão do Jorel, onde várias coisas têm o adjetivo "brutal" em homenagem a Steve Magal. Nenhum jogador ou animal é ferido em nenhuma partida! Veja exemplos aqui e aqui.
Contribuições são bem-vindas! Sinta-se à vontade para:
- Implementar novas estratégias
- Melhorar a documentação
- Adicionar novos testes
- Reportar bugs
Este projeto está sob a licença incluída no arquivo LICENSE.