いくつかの人気のある卓上ゲームでは、一連の 6 つの統計 (属性または能力スコアとも呼ばれます) が存在します。これらは整数です。この問題の目的のために、それらの数は 7 から 18 の範囲です。
公平を期すために、より高いステータスを「購入」するシステムがあります。これをポイント購入といいます。人々は、すべての属性を最低限 (この場合は 7) で開始し、ポイントのプールを使用して、属性を増やすことができます。ただし、1対1の比率ではありません。18 は 17 などよりもかなり高価です。
私が理想的にやりたいことは、ポイント数と各属性のコストを指定して、ポイントの合計を利用するランダムな属性セット (7 から 18 の間の 6 つの整数) を提供するコードを記述できることです。提供された。理想的には、結果が均一に近づくことを望みます。
問題を考えやすくするために、Pathfinder ゲーム システムから取った例を示します。(このシステムに精通している人は、物事がまったく同じではないことに気付くかもしれません。コンピューター サイエンスの問題としてより意味のあるものにするために単純化しました。)
すべての属性は 7 から始まり、これより低くすることはできません。使用できるポイントは 44 です。属性を 1 上げるためのコストは次のとおりです: 2,1,1,1,1,1,2,2,3,3,4 5,6,7,9,11,14,17,21.
また、同様の問題へのリンク/リソースをいただければ幸いです。