Pour chacune des 13 lignes d'une feuille de match Yahtzee, vous recevez (de stdin) une liste de 5 chiffres (dés) séparés par des espaces. Votre tâche consiste à calculer le score de chaque ligne et à générer le grand total du jeu.
Exemple
Saisie et comment l'interpréter:
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
Nous ne tiendrons pas compte des règles du Yahtzee Bonus et du Joker, et nous résumerons uniquement les scores des sections supérieure et inférieure et du bonus dans la section supérieure. En cas de doute, reportez-vous à ces règles .
Que le code le plus court gagne!
Réponses:
APL (124)
la source
R - 264
(264 caractères en excluant les commentaires)
Avec l'entrée
Production
la source
2 2 2 2 2
et je crois que votre programme considère cela comme un full et attribue les 25 points.2 2 2 2 2
) j'obtiens un résultatnumeric(0)
au lieu d'un score.2 2 2 2 2
) sous "Full house". Je pense que vous avez raison sur les lignes droites, merci; Je mettrai à jour mon code avec une version plus courte à laquelle j'ai pensé.Python 364
Comme demandé, l'entrée se fait sur stdin:
Si les données pouvaient être préchargées dans une liste, comme l'ont fait d'autres solutions, je pourrais supprimer 62 caractères pour atteindre 302.
la source
Mathematica 359
Il doit y avoir un moyen plus efficace de vérifier la courte ligne droite.
la source
GolfScript 180
Vous pouvez tester le programme ici
Programme annoté:
la source
Perl 527 caractères
la source