私の目標は、敵が殺された後にドロップするアイテムの数を個別に計算することです。たとえば、それぞれ50%の確率で50のポーションがドロップされるとすると、独立した試行に基づいて、0から50までの数字をランダムに返したいと思います。
現在、これは私が使用しているコードです:
int droppedItems(int n, float probability) {
int count = 0;
for (int x = 1; x <= n; ++x) {
if (random() <= probability) {
++count;
}
}
return count;
}
確率が0.0から1.0までの数値である場合、random()は0.0から1.0を返し、nはドロップされるアイテムの最大数です。これはC++コードですが、実際にはVisual Basic 6を使用しているため、これを支援するライブラリはありません。
このコードは完璧に機能します。ただし、これを最適化して、nが999999になった場合に、永久にかかることがないようにします(現在はそうなっています)。