それは、各レベルで exp をどのようにスケーリングするかによって大きく異なります。まあ言ってみれば
LvL1 : 50 Xp
Lvl2: LvL1*2=100Xp
LvL3: LvL2*2=200Xp
Lvl4: LvL3*2=400Xp
これは、等比数列があることを意味します。レベル n を完了するために必要な Xp は、次のようになります。
`XPn=base*Q^(n-1)`
私の例では、base は初期の 50 xp で、Q は 2 (比率) です。
プレイヤーが経験値なしで lvl1 から開始した場合:
when he dings lvl2 he would have 50 total Xp
at lvl3 150xp
at lvl4 350xp
プレイヤーが新しいレベルアップを取得したときの合計 xp は次のようになります。
base*(Q^n-1)/(Q-1)
あなたの場合、プレイヤーがどれだけのXPを持っているかはすでにわかっています。比率が 2 の場合、式はより単純になります。
base * (2^n-1)=total xp at level n
特定の XP 量のレベルを調べるには、単純な式を適用するだけです
$playerLevel=floor(log($playerXp/50+1,2));
しかし、幾何学的な進行により、プレイヤーがレベルを上げるのはますます難しくなります。
次のレベルに必要な XP を表示するには、次のレベルの合計 XP を計算するだけです。
$totalXpNextLevel=50*(pow(2,$playerLevel+1)-1);
$reqXp=$totalXpNextLevel - $playerXp;
投稿の開始を確認してください: lvl1 -> lvl2 から取得するには、50 xp が必要です lvl2 -> lvl3 100xp
レベル x からレベル (x+1) に到達するには、必要になります
$totalXprequired=50*pow(2,$playerLevel-1);