【发布时间】:2014-07-11 04:59:51
【问题描述】:
概览
我正在尝试创建一个需要具有以下特征的伪随机函数的游戏:
-
每个玩家将被分配一个变量(float 类型)用于他们的钱、他们拥有并想要出售的产品(int* 类型)以及另一个变量来显示他们所处的位置。
-
每个玩家都有权将他们拥有的任何产品出售给任何其他玩家;此外,该游戏还涉及一名计算机玩家,该玩家代表该地区想要购买或出售某些产品的其他公民。
-
每个玩家都有不同的地方价值,每个地方对每种产品都有不同的成本,不同地方之间的“运输成本”也随时间而不同。
玩家资料的简要数据结构如下:
typedef struct PLAYER{
char *name;
int place;
int *products;
int noOfProducts;
float money;
PLAYER();
PLAYER(&ply);
.
.
.
}*ptrPLAYER;
现在我需要一个伪随机函数来设置每种产品的费率,从一个地方到另一个地方的运输费率,该函数还应该确定“公民”玩家应该购买或出售哪些产品以及以什么费率.此函数提供的值应遵循特定趋势一段时间并完全改变其趋势,但方差不应很高。伪函数的特点:
-
应该是之前生成的值和时间的函数。
-
应该显示出随着某种趋势到某个点的逐渐变化。
问题:
随机函数应具有以下属性:
-
方差应该很低。
-
如果我们将函数定义为
int *randomFnc( int previousResult[]),该函数应该遵循一些很难破解的趋势,同时它不应该达到饱和点,超过该点,randomFnc(.)提供相同的结果。 -
随机函数应该生成一组值(例如 100 个值),这些值以某种独特的方式直接依赖于先前生成的值。
【问题讨论】:
-
这到底是什么问题?
-
@user3621123 请详细描述您想要的函数的属性
标签: c++ algorithm math random statistics