【发布时间】:2018-06-03 00:38:36
【问题描述】:
我有一个命中率 49% 的火箭。计算该火箭命中(真/假)的公式是什么? 我有许多具有不同概率的对象。
【问题讨论】:
我有一个命中率 49% 的火箭。计算该火箭命中(真/假)的公式是什么? 我有许多具有不同概率的对象。
【问题讨论】:
Random rand = new Random();
if(rand.Next(1, 101) <= rocketHitRatio)
//hit
else
//no hit
【讨论】:
Random.NextDouble() 返回一个介于 0.0 或更大且小于 1.0 之间的数字。您只需将该结果与以双倍表示的概率百分比进行比较,如果它低于或等于您命中的命中概率值。
bool IsHit(Random rnd, double hitChance)
{
return rnd.NextDouble() <= hitChance;
}
double rocketChance = 0.49;
bool hit = IsHit(_random, rocketChance);
【讨论】:
percent hit chance <= the value you want to test normalized to the 0 to 1 range.