何人かの友人と私はDSA(主にドイツの卓上型RPGであり、D&Dによく似ています)をプレイしました。ロールをパスするチャンスは何なのだろうと思っていたので、それを計算するためにいくつかのコードを書く必要があります。
あなたのキャラクターは、統計(8から14)と(TV)タレント値(0から21)によって定義されます。ここでは、例として登山を使用します。
才能テスト
タレント(クライミング)は次のようになります。(勇気-敏捷性-強さ)TV:7.キャラクターのタレントをテストするには、20面のサイコロでこれらの統計を転がし、統計以下になるようにします。あなたはそれをうまくやっています。そうでない場合は、TVポイントを使用して、ロールを1:1の比率で減らすことができます。
例
勇気12、器用さ13、強さ14のハンターが木に登ろうとしています。テレビは7です。
彼は3を振り、値は12未満なので、その目を通過しました。
それから彼は17を出して、17は13より4多いので、4台のテレビが残り3台で使い果たされます。
最後のロールでは、14のスポットがパスしました。
すべてのロールが通過し、ハンターはなんとか木に登ることができ、3台のテレビが残っています。
入力
言語の標準入力から取得した、選択した任意の形式の4つの値。ただし、この順序でなければなりません。
たとえば12 13 14 7
、12,13,14,7
または配列{12、13、14、7}または混合として[12, 14, 8], 3
出力
ロールが合格する頻度。
例(上記の値の場合)0.803
12,14,8,3 = 0.322
11,11,12,11 = 0.840
おまけについて:ここでもフォーマットは問題ではありませんが、次の順序で好きなように出力してください:
failed/with 0/with 1/with 2/with 3/with 4/with 5/with 6/with 7
テレビがなくなるまで続けます。
12,13,14,7 = 0.197/0.075/0.089/0.084/0.078/0.073/0.068/0.063/0.273
12,14,8,3 = 0.678/0.056/0.051/0.047/0.168
チャレンジとルールとボーナス
入力を与えられた場合、ロールを+-0.5%の精度でパスするチャンスを見つける必要があります。
プログラムが
n
TVで合格するチャンスも出力する場合は-20%(出力を参照)。これはcode-golfなので、バイト単位の最短コードが優先されます!
[12, 14, 8], 3
?