Para cada una de las 13 filas de una hoja de puntaje de Yahtzee , se le da (a partir de stdin) una lista separada por espacios de 5 números (dados). Su tarea es calcular el puntaje de cada línea y generar el Gran Total del juego.
Ejemplo
Entrada y cómo interpretarla:
Input Box Score
6 1 4 1 3 Aces 2
3 2 2 1 2 Twos 6
6 3 2 3 3 Threes 9
4 2 3 6 5 Fours 4
6 3 5 5 1 Fives 10
1 5 6 5 6 Sixes 12
Bonus -
4 2 4 4 1 3 of a kind 15
2 2 3 2 4 4 of a kind -
3 2 2 2 3 Full house 25
1 3 1 6 1 Small straight -
2 5 4 6 3 Large straight 40
2 2 2 2 2 Yahtzee 50
5 5 4 5 2 Chance 21
Grand Total 194
Ignoraremos las reglas de Yahtzee Bonus y Joker, y solo resumiremos los puntajes de la Sección Superior e Inferior y el Bonus en la Sección Superior. En caso de duda, consulte estas reglas .
¡Que gane el código más corto!
Respuestas:
APL (124)
fuente
R - 264
(264 caracteres al excluir los comentarios)
Con la entrada
Salida
fuente
2 2 2 2 2
y creo que su programa lo trata como un full y otorga los 25 puntos.2 2 2 2 2
) obtengo un resultado ennumeric(0)
lugar de un puntaje.2 2 2 2 2
) en "Full house". Creo que tienes razón sobre las rectas, gracias; Actualizaré mi código con una versión más corta que pensé.Python 364
Según lo solicitado, la entrada está en stdin:
Si los datos pudieran precargarse en una lista, como lo han hecho otras soluciones, podría eliminar 62 caracteres para llegar a 302.
fuente
Mathematica 359
Debe haber una forma más eficiente de verificar la recta corta.
fuente
GolfScript 180
Puedes probar el programa aquí
Programa anotado:
fuente
Perl 527 caracteres
fuente