【发布时间】:2017-09-11 14:36:23
【问题描述】:
所以我正在尝试为假 rpg 中的统计增长创建一个数组。看起来像这样。
// base array
// $base: starting base stats
// $growth: growth rate per rng
$growths = array(
'HP' => array (70 => 20),
'STR' => array (50 => 7),
'MAG' => array (35 => 2),
'SKL' => array (45 => 6),
'SPD' => array (50 => 8),
'LCK' => array (55 => 5),
'DEF' => array (45 => 6),
'RES' => array (15 => 4),
);
//rng calculator
for ($x = 0; $x <= 20; $x++) {
foreach ($growths as $stat_name => $info) {
$roll = rand(0,100);
foreach ($info as $growth => $base) {
if ($roll <= $growth) {
$info[$growth] = ++$base;
print "(UP!) ";
}
echo "$stat_name: $base<br/ >";
}
}
}
我唯一的问题是rng calculator 之后的新$base 值拒绝存储在原始数组中。我做错了什么,还是我只需要从头开始重建阵列并尝试其他方法?任何帮助将不胜感激!
【问题讨论】:
-
你不想
roll(1, 100)吗? -
不确定——roll() 和 rand() 有什么区别?
-
抱歉,是的,我的意思是
rand(1, 100)。对我来说,这看起来像是一个纸笔角色扮演游戏,我认为这是一个百分位骰子,通常不可能为零。
标签: php arrays multidimensional-array foreach associative-array