1

テキストアドベンチャーゲームでの簡単なスキルテストの成功率を計算するRubyコードの行をプログラムしようとしています。テストは「ifx+random(12)=>ythen」です。このステートメントがRubyで真である可能性のある成功率を計算するにはどうすればよいですか?

ゲームでは、プレーヤーは特定のスキルを持っており、特定の難易度の数値以上になるために、それらのスキルと乱数をテストする必要がある場合があります。そのスキルテストに勝つことができる成功率のパーセンテージを計算したいと思います。

アドベンチャーゲームの例として、ジャングルの中を動物を追跡しようとしています。これを行うには、追跡のスキルをテストする必要があります。たとえば、追跡スキルが3で、それに1〜12の乱数を追加した場合、成功するには少なくとも9以上のスコアを付ける必要があります。基本的に:スキル+ランダム(12)=>Difficulty_Number。彼らが成功する可能性がどうなるかを見るために、彼らがプレーする前に成功率のパーセンテージを示したいと思います。

では、Rubyでは、現在のスキルスコアで成功する可能性を把握するためのアルゴリズムは何でしょうか。ありがとう!

4

1 に答える 1

1

あなたはこれを行うことができます。

def success_rate(skill, success_level, random_range=12)
  delta = success_level - skill

  return [100 - (delta.to_f / random_range * 100), 100].min.round(2)
end
于 2012-12-07T05:17:13.850 に答える