相关疑难解决方法(0)

需要可预测的随机发生器

我是一名网络游戏开发者,我遇到了随机数问题.假设玩家有20%的几率用他的剑获得重击.这意味着,5次点击中的1次应该是至关重要的.问题是我的现实生活成绩非常糟糕 - 有时候球员在5次安打中得到3次降落,有时15次命中都没有.战斗相当短(3-10次命中),因此获得良好的随机分布非常重要.

目前我使用PHP mt_rand(),但我们只是将代码移动到C++,所以我想在游戏的新引擎中解决这个问题.

我不知道解决方案是否是一些统一的随机生成器,或者可能记住以前的随机状态以强制正确分配.

c++ random algorithm

151
推荐指数
16
解决办法
2万
查看次数

C# 加权随机数

我需要游戏编程方面的帮助。

您打开一个箱子,并以给定的概率找到一件物品。

项目/机会

A / 10%
B / 30%
C / 60%

Random random = new Random();
int x = random.Next(1, 101);

if (x < 11) // Numbers 1..10 ( A -> 10% )
{ 
     do_something1(); d
} 
else if (x < 41) // Numbers 11..40 ( B -> 30 % )
{ 
     do_something2();
}
else if (x < 101) // Numbers 41..100 ( C -> 60 % ) 
{ 
     do_something3();
}
Run Code Online (Sandbox Code Playgroud)

就概率而言,这个例子真的有意义吗?你有其他解决方案吗?

先感谢您!

c# random unity-game-engine

6
推荐指数
2
解决办法
9821
查看次数

标签 统计

random ×2

algorithm ×1

c# ×1

c++ ×1

unity-game-engine ×1