如何按给定的百分比创建概率?我正在尝试为游戏创建基于百分比的概率。例如,如果一件物品有45%的几率被暴击,那么这一定意味着它在50次命中中有45次是暴击。首先,我尝试使用一个简单的解决方案:R=newRandom();intC=R.Next(1,101);if(C<=ProbabilityPercent)DoSomething()但是在100次迭代中,比如说48%的几率,它给出40-52满分100。同样适用于49,50,51。因此,这些“百分比”之间没有区别。问题是如何设置50的百分比并严格随机获得50中的100?这对于稀有物品的查找概率来说是一件很重要的事情,有几率增加找到物品的几率。所以1%的增益会很敏感,因为它不是。对不起,我的英语不好。你只需要考虑重复滚动的均匀分布。您不能查看超过100个卷,因为强制恰好45个卷不是随机的。通常,此类卷应显示“内存不足”。例如,如果您掷骰子寻找6,则您有六分之一的机会。如果你掷5次,但没有得到6-那么:下一次掷出6的机会不是1。它仍然是6合1。所以你只能看到它在多大程度上符合你的期望你在统计上大量的事件中摊销它......100,000说。基本上:您当前的代码很好。如果用户知道(因为他们已经达到55次没有按键),接下来的45次点击必须是按键,那么它就不再是随机的,他们可以玩弄系统。还;45%的暴击几率似乎有点高;p我正在尝试为游戏创建基于百分比的概率。例如,如果一件物品有45%的几率被暴击,那么这一定意味着它在50次命中中有45次是暴击。不,那不是真的。你完全错过了概率的概念。你不需要“基于百分比的概率”,你想要“100个样本的基于百分比的随机分布”。你需要的是一个“事件包”,其中45个是“冰冷的”,55个是“非神秘的”。一旦您从行李中选择了一项活动,下次您就只有剩下的活动可供选择了。您可以这样建模:初始化两个整数变量Crytical和NonCrytical,以便根据所需的百分比,它们的总和正好为100。取一个从1到Crytical+NonCrytical的随机值如果随机值小于Crytical的值,让你命中crytical并且:Crytical=Crytical-1否则,让你命中非cryticalNonCrytical=NonCrytical-1EndIf重复直到Crytical+NonCrytical=0因为我不是C#专家,所以我会很容易地使用C++函数,但仍然适用于任何语言。rand()–随机数生成器。//33.34%双倍概率=0.3334;//除以得到一个介于0和1之间的数字doubleresult=rand()/RAND_MAX;if(result我已经使用这种方法创建了非常大的可渗透网格并且它非常适合精度值。问题是,对于Random你可能只想初始化这个类一次。这是因为Random使用系统时间作为用于生成随机数的种子。如果你的循环非常快,可能会发生多个随机实例使用相同的并因此生成相同的数字。如果你怀疑发生这种情况,请检查生成的数字。除此之外,随机性是固有的它不会给你确切的结果。这意味着即使有50/50的可能性,也可能发生100个“正面”或“反面”的序列给出100次“正面”。你唯一能做的是创建一个随机实例一次并使用结果;否则你不应该使用随机。以上就是C#学习教程:如何创建给定百分比的概率?如果分享的所有内容对您有用,需要了解更多C#学习教程,希望您多多关注---本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
