两个数字之间的指数概率?

时间:2014-09-26 21:52:58

标签: c# math

如果这个问题含糊不清,我想道歉,我无法用数学术语来描述我想要做的事情。

我正在开发一种游戏,其中健康通电可以在最小和最大之间具有随机健康值(截至目前为5-100)。我想让它变得更加健康,以便不那么频繁地产生。

如何在min和max之间随机生成一个遵循指数模型的值?

1 个答案:

答案 0 :(得分:3)

为什么不在5到100之间随机取出,然后在1-10之间随机取10个除以10.在这种情况下,你将在极少数情况下获得高hp bar。

示例随机5-100取60,随机1-10取5。

60 * 5/10 = 30。

希望这适合你。在这种情况下,你将有超过90的马力,有机会超过1%。 如果我的数学正确,80-90是~4%,70-80是~9%。

    static void Main(string[] args)
    {
        Random rnd = new Random();
        int p = rnd.Next(5, 100);
        int q = rnd.Next(1, 10);

        int hp = p * q / 10;

        if (hp < 5)
            hp = 5;

        Console.WriteLine(hp);

    }