這裏是我的功能,爲什麼這個功能在php中不起作用?
這意味着要獲得用戶級別所需的xp數量,直到下一級別,它工作,但只能通過級別1到2,然後如果輸入了級別3所需的xp它失敗。
XP每層次翻一番,所以從1級到2級是10級,2級到3級是20級,3級到4級是40級等;
$ user ['xp']是一個更好的解釋的int,下面是一些函數返回不同值的例子。
- $用戶[ 'XP'] == 1,級別1,xpGot 1,xpNeeded 9,10%
- $用戶[ 'XP'] == 5,級別1,xpGot 5,xpNeeded 5 ,50%
- $ user ['xp'] == 9,level 1,xpGot 9,xpNeeded 1,90%
- $ user ['xp'] == 10,level 2,xpGot 0,xpNeeded 20 ,0%
- $ user ['xp'] == 15,level 2,xpGot 5,xpNeeded 15,25%
- $ user ['xp'] == 29,level 2,xpGot 19,xpNeeded 1 ,95%
7. $ user ['xp'] == 30,level 2,xpGot 0,xpNeeded 0,0% 它在那裏失敗。
function calculateLevel($xpGot) {
$level = 1;
$xpNeeded = 10;
while ($xpGot >= $xpNeeded) {
$level++;
$xpGot %= $xpNeeded;
$xpNeeded *= 2;
}
if ($xpGot < $xpNeeded) {
$xp = $xpGot/$xpNeeded * 100;
echo '<p>Level: ' . $level . '</p>';
echo '<div class="displayBarWrap" title="' . $xpGot . '/' . $xpNeeded . ' XP (' . $xp . '%)">
<p>XP:</p>
<div class="displayBar"><div style="width: ' . $xp . '%;"></div></div></div>';
}
}
calculateLevel($user['xp']);
什麼'$ user ['xp']'的值? – rocketscientist
它如何「失敗」? – animuson
編輯的問題。 – cgweb87