Perudo é um dos meus jogos favoritos para jogar com os amigos. As regras são fáceis de entender e há a quantidade certa de estratégia e diversão!
Para este projeto, decidi utilizar a linguagem de programação Java e apliquei os princípios da Programação Orientada a Objetos.
O jogo original é jogado com copos e dados opacos. No início do jogo, os jogadores recebem 1 copo e 5 dados cada. Depois de embaralhar os dados dentro dos copos, os jogadores viram os copos (com os dados dentro). Então cada jogador deve apostar em quantos dados há na mesa, um após o outro. Cada jogador só pode ver os seus dados e deve decidir fazer uma aposta mais alta ou chamar o último jogador de mentiroso! Quando um jogador contesta um lance, todos os dados são revelados e tanto o licitante quanto o chamador perdem os dados, dependendo de quem acertou.
O vencedor é o último jogador restante!
Para construir esse jogo Perudo, criei 5 classes. Aqui está a descrição não exaustiva de cada classe.
Uma classe de dados que contém:
int value
: um valor inteiro de 1 a 6;Uma classe de jogador que contém:
String name
: o nome de cada jogadorArrayList<Dice>
: Uma matriz de 5 dados com um valor aleatório de 1 a 6, representando os valores dos dados. Por exemplo: [1,2,6,6,4]
Uma classe RobotPlayer que herda da classe Player e contém:
Uma aula de Perudo que contém:
ArrayList<Player> players
: que inclui uma instância de Player e várias instâncias de RobotPlayer.int[] currentBet
: mostrando a aposta atual com o número de dados e o valor dos dados. Por exemplo: [5,6]
significa que a última aposta foi em 5 dados com valor 6.Player currentPlayer
: para obter uma referência do jogador atual, que pode decidir apostar ou revelar os dados.Uma classe GUI que contém:
Para entender como construí o algoritmo, aqui está um diagrama que representa cada etapa do jogo.