我尝试用 php 为我的用户构建一个级别系统。到目前为止我只有一个 mysql 表...
id / xp (default 0) / xp_needed (default 5) / level (default 1)
我的用户面板中还有一个栏,显示需要多少 XP,$details 是 mysql 表列的数组。
$xp_needed = ($details['xp'] / $details ['xp_needed']) * 100;
echo'<p>XP Needed:</p><div class="bar Tooltip" title="' . $details['xp'] . '/' .
$details['xp_needed'] . '"><span style="width: ' . $xp_needed . '%;"></span></div>';
我无法解决的是一个函数,用于检查 xp 是否超过所需的 xp,如果是,则将级别更新为下一个整数,将所需的 xp 更新为 5 * 级别并结转剩余部分(如果有) xp_needed 到新的 xp_needed?
感谢您的耐心等待
最佳答案
编写一个函数xpIncrease($amount)
,并在您增加用户 xp 的任何地方调用它。
它应该是这样的:
function xpIncrease($amount) {
if ($amount>=$details['xp_needed']) {
$amount-=$details['xp_needed'];
$details['xp_needed']=$newValue; //user leveled up, update xp_needed
xpIcrease($amount); //call it again because user may level up twice or more...
} else {
//just add it with SQL
}
}
关于php - PHP级别系统?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7311928/