Para cada uma das 13 linhas de uma planilha Yahtzee, você recebe (do stdin) uma lista separada por espaços de 5 números (dados). Sua tarefa é calcular a pontuação de cada linha e gerar o total geral do jogo.
Exemplo
Entrada e como interpretá-la:
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
Iremos desconsiderar as regras do Yahtzee Bonus e Joker, e somaremos apenas as pontuações da seção superior e inferior e o bônus na seção superior. Em caso de dúvida, consulte estas regras .
Que ganhe o menor código!
Respostas:
APL (124)
fonte
R - 264
(264 caracteres ao excluir os comentários)
Com a entrada
Resultado
fonte
2 2 2 2 2
e acredito que seu programa trata isso como um full house e premia os 25 pontos.2 2 2 2 2
), obtive um resultado emnumeric(0)
vez de uma pontuação.2 2 2 2 2
) em "Casa completa". Eu acho que você está correto sobre as retas, obrigado; Vou atualizar meu código com uma versão mais curta em que pensei.Python 364
Conforme solicitado, a entrada está no stdin:
Se os dados pudessem ser pré-carregados em uma lista, como algumas outras soluções, eu poderia remover 62 caracteres para chegar a 302.
fonte
Mathematica 359
Deve haver uma maneira mais eficiente de verificar a sequência curta.
fonte
GolfScript 180
Você pode testar o programa aqui
Programa anotado:
fonte
Perl 527 caracteres
fonte