ヤッツィーは、5つの6面のサイコロと、スコアを記入するための13の異なるボックスのスコアシートでプレイされるゲームです。各ボックスには、独自のスコアリングルールがあります。
- 1秒、2秒、3秒、4秒、5秒、6秒はすべて、それぞれのサイコロの合計に等しいポイントを獲得します(つまり、3として獲得した[3、2、3、1、5]のロールは6ポイントを獲得します:3それぞれ3)。
- 3種類と4種類(聞こえると、3つまたは4つのサイコロが転がった)は、5つのサイコロすべての合計に等しいポイントを獲得します。
- フルハウス(2つのサイコロが1つの値を示し、他の3つのサイコロが別の値を示す)が25ポイントを獲得
- 小さなストレート(4つの連続した値)が30ポイントを獲得
- 大きなストレート(すべて連続した値)が40ポイントを獲得
- ヤッツィー(すべてのサイコロが同じ値を示す)が50ポイントを獲得
13番目(チャンス)はゲーム内では理にかなっていますが、この課題にはそれほど意味がありません。さらに、ゲームには余分なヤッツィーのボーナスがありますが、ここでは意味がありません。課題は...
5つのサイコロを入力として(5つの整数1〜6、ただし入力は便利ですが、入力は常に有効であると想定できます)、その「手」で可能な最高スコアを出力します。このチャレンジでは、上記のリストのスコアリング方法のみが有効です(具体的には、このチャレンジではチャンスは有効なスコアボックスではありません)。スコアは、それが整数であろうと文字列表現であろうと、その小数の数値として出力されるべきです。すぐに数字として認識できるはずです。空白の先頭/末尾は問題ありません。これはプレゼンテーションではなくスコアを取得することです。
ゴルフをコーディングすれば、特定の言語で最も少ないバイト数で答えが得られます。標準的な抜け穴は禁止されています。
テストケース
(これらはすべて独立していることに注意してください、挑戦はサイコロの1つの「ハンド」を獲得することです):
in: 1 5 4 3 2
out: 40
in: 1 1 4 3 1
out: 10
in: 2 2 6 5 3
out: 6
in: 2 4 2 4 6
out: 8
in: 1 1 1 1 1
out: 50
in: 5 2 5 3 6
out: 10
in: 1 6 3 4 2
out: 30
in: 1 3 1 1 3
out: 25
in: 6 5 5 6 6
out: 28
in: 1 2 3 5 6
out: 6