Perudo es uno de mis juegos favoritos para jugar con amigos. ¡Las reglas son fáciles de entender y hay la cantidad justa de estrategia y diversión!
Para este proyecto, decidí utilizar el lenguaje de programación Java y apliqué los principios de la Programación Orientada a Objetos.
El juego original se juega con vasos opacos y dados. Al comienzo del juego, los jugadores reciben 1 vaso y 5 dados cada uno. Después de barajar los dados dentro de los vasos, los jugadores voltean su vaso (con los dados dentro). Luego, cada jugador debe hacer una apuesta sobre cuántos dados hay en la mesa, uno tras otro. ¡Cada jugador sólo puede ver sus dados y debe decidir hacer una apuesta más alta o llamar mentiroso al último jugador! Cuando un jugador impugna una oferta, todos los dados se revelan y el postor o el que llama pierde dados, dependiendo de quién tuvo razón.
¡El ganador es el último jugador restante!
Para construir este juego de Perudo, creé 5 clases. Aquí está la descripción no exhaustiva de cada clase.
Una clase de dados que contiene:
int value
: un valor entero de 1 a 6;Una Clase de Jugador que posee:
String name
: el nombre de cada jugador.ArrayList<Dice>
: una matriz de 5 dados con un valor aleatorio del 1 al 6, que representa los valores de los dados. Por ejemplo: [1,2,6,6,4]
Una Clase RobotPlayer que hereda de la Clase Jugador y posee:
Una Clase Perudo que contiene:
ArrayList<Player> players
: que incluye una instancia de Player y varias instancias de RobotPlayer.int[] currentBet
: muestra la apuesta actual con el número de dados y el valor de los dados. Por ejemplo: [5,6]
significa que la última apuesta fue por 5 dados con un valor de 6.Player currentPlayer
: para obtener una referencia del jugador actual, que puede decidir apostar o revelar dados.Una clase GUI que contiene:
Para comprender cómo construí el algoritmo, aquí hay un diagrama que representa cada paso del juego.