如果这个问题含糊不清,我想道歉,我无法用数学术语来描述我想要做的事情。
我正在开发一种游戏,其中健康通电可以在最小和最大之间具有随机健康值(截至目前为5-100)。我想让它变得更加健康,以便不那么频繁地产生。
如何在min和max之间随机生成一个遵循指数模型的值?
答案 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);
}