2012-07-17 88 views
0

我正在创建一个游戏,将精灵随机添加到我的场景中。随机性是加权的,我可以根据提供的参数改变权重给我的方法来改变我想添加的精灵比其他更多。设计游戏随机化逻辑

现在游戏是全面的。所以,在第一轮期间,我希望用户需要显示很多的重量,我将通过重量来设置其他重量,并将其他重量设置为较低的重量,以便在第一阶段轻松完成。

第二轮我想改变权重,并通过将更多不需要的精灵混合到场景中使它们变得更难一些。

问题是我不想对此进行硬编码,因为我希望用户尽可能多地继续循环。那么,我怎么能做到这一点,它不是硬编码去做我需要它做的事情?

希望这是有道理

编辑:

所以basical发生的事情是我必须控制被添加到场景在其他3个精灵精灵的概率wiehgt方法。

updateWeights(int itemNumber, double weight); 

这是我用来更新每个精灵重量的方法,通过提供精灵itemNumber然后我想要使用的重量。

我想要做的是随着用户在游戏中得到进一步的基础上,我设置游戏将逐渐变得更加难以通过改变权重到不同的权重。事情是必须在场景中显示的精灵比其他人应该总是高于其他人(这就是为什么我不想使用随机生成器)。明白了吗?如果有人看到更容易的逻辑,请随时提出建议。

+0

可能你可以添加一些示例来演示吗? – SuperSaiyan 2012-07-17 03:30:16

回答

0

找出圆数的一些函数来确定权重。

例如,请尝试weight(n) = 1/(1 + e^(-n + b)),在这里您可以改变b的余额。这总是返回一个介于0和1之间的数字。

+0

你能否更详细地回答你的答案? – 2012-07-17 20:14:06