如何在此公式中添加随机“模糊”,以便随着值的增加随机性降低?

时间:2010-12-24 04:03:44

标签: php math logarithm random

我正在开发一款开放式战略游戏。我使用以下公式来计算损害:

$rand = rand($a, $b) + $c;
$damage = $rand * sqrt(($d / 20) * $c));

$a$b$c$d都是用户可以在游戏过程中通过购买更好的商品来修改的值( $a$b),投资项目($c),或投资他们的角色$d

我现在要做的是为等式的结果增加一些随机性。但是,因为游戏是开放式的:

  1. 随着时间的推移,静态值将变得不明显/可忽略不计。
  2. 基于百分比的值会随着时间的推移产生过多的噪音。
  3. 所以,我想添加一个随机值较小的随机值,随着输入的增加而增长,但收益递减。我确定我需要某种对数公式,但我不确定该怎么做!

1 个答案:

答案 0 :(得分:4)

如果您计算原始伤害,因为D和R在[-1,1]中是随机的,您有很多选择。你不想要静电:

D = D + 1 * constant * R

或百分比

D = D + D * constant * R.

介于两者之间的东西可能是

D = D + sqrt(D) * constant * R.

常数和线性之间的任何D函数都会给你一个不同的平衡。