Für jede der 13 Reihen eines Yahtzee-Scoresheets erhalten Sie (nach Standard) eine durch Leerzeichen getrennte Liste mit 5 Zahlen (Würfeln). Ihre Aufgabe ist es, die Punktzahl für jede Zeile zu berechnen und die Gesamtsumme des Spiels auszugeben .
Beispiel
Eingabe und Interpretation:
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
Wir werden die Regeln für den Yahtzee- Bonus und den Joker ignorieren und nur die Punkte aus dem oberen und unteren Bereich sowie den Bonus im oberen Bereich zusammenfassen. Im Zweifelsfall beziehen Sie sich auf diese Regeln .
Möge der kürzeste Code gewinnen!
Antworten:
APL (124)
quelle
R - 264
(264 Zeichen beim Ausschließen der Kommentare)
Mit der Eingabe
Ausgabe
quelle
2 2 2 2 2
und ich glaube, dass Ihr Programm das als Full House behandelt und die 25 Punkte vergibt.2 2 2 2 2
), erhalte ichnumeric(0)
anstelle einer Punktzahl ein Ergebnis von .2 2 2 2 2
unter "Full House" einen yahtzee (z. B. ) erzielen . Ich denke, Sie haben Recht mit den Geraden, danke. Ich werde meinen Code mit einer kürzeren Version aktualisieren, über die ich nachgedacht habe.Python 364
Die Eingabe erfolgt wie gewünscht über stdin:
Wenn die Daten wie bei einigen anderen Lösungen in eine Liste geladen werden könnten, könnte ich 62 Zeichen entfernen, um 302 zu erhalten.
quelle
Mathematica 359
Es muss einen effizienteren Weg geben, um nach der kurzen Gerade zu suchen.
quelle
GolfScript 180
Sie können das Programm testen hier
Kommentiertes Programm:
quelle
Perl 527 Zeichen
quelle