Perudo est l'un de mes jeux préférés pour jouer avec des amis. Les règles sont faciles à comprendre, et il y a juste ce qu'il faut de stratégie et de plaisir !
Pour ce projet, j'ai décidé d'utiliser le langage de programmation Java et d'appliquer les principes de la programmation orientée objet.
Le jeu original se joue avec des gobelets et des dés opaques. Au début du jeu, les joueurs reçoivent chacun 1 tasse et 5 dés. Après avoir mélangé les dés à l’intérieur des gobelets, les joueurs retournent leur gobelet (avec les dés à l’intérieur). Ensuite, chaque joueur doit parier successivement sur le nombre de dés qu'il y a sur la table. Chaque joueur ne peut voir que ses dés et doit décider de miser plus ou traiter le dernier joueur de menteur ! Lorsqu'un joueur conteste une enchère, tous les dés sont révélés et soit l'enchérisseur, soit celui qui a appelé perd les dés, selon qui avait raison.
Le gagnant est le dernier joueur restant !
Pour construire ce jeu Perudo, j'ai créé 5 classes. Voici la description non exhaustive de chaque classe.
Une classe de dés qui contient :
int value
: une valeur entière de 1 à 6 ;Une classe de joueur qui contient :
String name
: le nom de chaque joueurArrayList<Dice>
: Un tableau de 5 dés avec une valeur aléatoire de 1 à 6, représentant les valeurs des dés. Par exemple : [1,2,6,6,4]
Une classe RobotPlayer qui hérite de la classe Player et contient :
Une classe Perudo qui détient :
ArrayList<Player> players
: qui comprend une instance de Player et plusieurs instances de RobotPlayer.int[] currentBet
: affichant la mise actuelle avec le nombre de dés et la valeur des dés. Par exemple : [5,6]
signifie que la dernière mise portait sur 5 dés d’une valeur de 6.Player currentPlayer
: pour obtenir une référence du joueur actuel, qui peut décider de miser ou de révéler des dés.Une classe GUI qui contient :
Pour comprendre comment j'ai construit l'algorithme, voici un schéma représentant chaque étape du jeu.