
Yahtzee
Calculá puntajes de Yahtzee
Nivel:Básico
Duración:Larga
Temas:
TDDClean CodeDiseñoOOPSOLIDPatrones de diseñoOutside-In
Enunciado
Yahtzee es un juego de dados simple. En cada ronda, cada jugador tira cinco dados de seis caras. El jugador puede volver a tirar algunos o todos los dados hasta tres veces (contando la tirada original). Después ubica la tirada en una categoría, como unos, doses, seises, par, doble par, etc. Si la tirada es compatible con la categoría, el jugador obtiene un puntaje según las reglas. Si no es compatible, obtiene cero puntos por esa tirada.
La kata consiste en crear las reglas para puntuar una tirada en cualquiera de las categorías predefinidas. Dada una tirada y una categoría, la solución final tiene que devolver el puntaje de esa tirada ubicada en esa categoría.
Reglas
Existen las siguientes categorías:
- Unos, Doses, Treses, Cuatros, Cincos, Seises (Ones, Twos, Threes, Fours, Fives, Sixes): El jugador suma los dados que muestran uno, dos, tres, cuatro, cinco o seis, respectivamente. Por ejemplo, 1, 1, 2, 4, 4 en "cuatros" da 8 puntos.
- Par (Pair): El jugador suma los dos dados iguales más altos. Por ejemplo, 3, 3, 3, 4, 4 en "par" da 8.
- Doble par (Two pairs): Si hay dos pares de dados con el mismo número, el jugador suma esos dados. Si no, suma 0. Por ejemplo, 1, 1, 2, 3, 3 en "doble par" da 8.
- Trío (Three of a kind): Si hay tres dados con el mismo número, el jugador suma esos dados. Si no, suma 0. Por ejemplo, 3, 3, 3, 4, 5 en "trío" da 9.
- Póker (Four of a kind): Si hay cuatro dados con el mismo número, el jugador suma esos dados. Si no, suma 0. Por ejemplo, 2, 2, 2, 2, 5 en "póker" da 8.
- Escalera menor (Small straight): Si los dados muestran 1,2,3,4,5, el jugador suma 15 (la suma de todos los dados); si no, 0.
- Escalera mayor (Large straight): Si los dados muestran 2,3,4,5,6, el jugador suma 20 (la suma de todos los dados); si no, 0.
- Full (Full house): Si los dados forman un par y un trío, el jugador suma todos los dados. Por ejemplo, 1,1,2,2,2 en "full" da 8. 4,4,4,4,4 no es "full".
- Yahtzee: Si todos los dados tienen el mismo número, el jugador suma 50 puntos; si no, 0.
- Chance: El jugador obtiene la suma de todos los dados, sin importar qué muestren.
Soluciones
- Kotlin de Nicolás Bottarini