1 から 99 までをループする数式であるこのコードがあります。
function getExperienceByLevel ($maxLevel)
{
$levels = array ();
$current = 0;
for ($i = 1; $i <= $maxLevel; $i++)
{
$levels[$i - 1] = floor ($current / 4);
$current += floor($i+300*pow(2, ($i/9.75)));
}
return $levels;
}
最初にそのように開始し$aLevels = getExperienceByLevel(99);
、レベルに到達するために必要なEXPを確認するには、配列であるため6
これを行います.echo $aLevels[5];
今、私は逆のことをしようとしています。EXPでレベルアップ。
function getLevelByExp($exp)
{
$aLevels = getExperienceByLevel(99);
for ($i = 1; $i < 100; $i++)
{
if ($exp > $aLevels[$i-1])
{
return $i;
}
}
}
だから私はこれをやろうとします:
$aLevels = getExperienceByLevel(99);
echo getLevelByExp(131);
レベル 3 がEXP、レベル 2 がEXP であるため、呼び出されると、getLevelByExp(131);
または内部の任意の番号が返される1
はずですが、返されるようです。参考画像はこちら:http: //i.imgur.com/gEYgu.png2
167
80