Я делаю онлайн RPG-игру, в которой я использую эту математическую формулу (найдена в Интернете) для вычисления exp -> level.
$level = (25 + sqrt(625 + 100 * $exp)) / 50;
В течение нескольких дней я пытался сделать сценарий, чтобы изменить его.
Моя цель — сделать функцию для расчета количества опыта, необходимого для уровня.
Перестановка и немного факторизации,
$exp = 25 * $level * ($level - 1)
Оказывается, можно еще больше упростить:
$exp = 25*($level*$level - $level);
Вывод:
l=(25 + sqrt(625 + 100e))/50
50l=25 + sqrt(625 + 100e)
50l-25=sqrt(625 + 100e)
(50l-25)^2=625 + 100e
(25*(2l-1))^2=625 + 100e
625*((2l-1))^2=625 + 100e
625*((2l-1))^2 - 625= 100e
625*((2l-1)^2 - 1) = 100e
625*((2l-1)^2 - 1)/100 = e
125*((2l-1)^2 - 1)/20 = e
25*((2l-1)^2 - 1)/4 = e
25*(4l^2-4l + 1- 1)/4 = e
25*(4l^2-4l)/4 = e
25*(l^2-l) = e
$exp = ((((50 * $level) - 25)**2) - 625)/100
$exp = (pow(50 * $level - 25, 2) - 625) / 100;