PHP/MySQL | прогресс бар
смотрите нужно сделать прогресс бар на опыт
но не могу придумать как правильно это сделать
т.е width:'.$proc.'%;
$proc=$account['опыт']*100/$account['до след лвл опыт '];
а вот как реализовать сколько надо до след лвл
но не могу придумать как правильно это сделать
т.е width:'.$proc.'%;
$proc=$account['опыт']*100/$account['до след лвл опыт '];
а вот как реализовать сколько надо до след лвл
function getLevelExp($level) {
switch($level) {
case 1:
return 100;
case 2:
return 300;
}
}
$expLvlBase = getLevelExp($account['level']);
$expLvl = getLevelExp($account['level'] + 1);
$proc = round(($account['exp'] - $expLvlBase) / ($expLvl - $expLvlBase) * 100, 0);
switch($level) {
case 1:
return 100;
case 2:
return 300;
}
}
$expLvlBase = getLevelExp($account['level']);
$expLvl = getLevelExp($account['level'] + 1);
$proc = round(($account['exp'] - $expLvlBase) / ($expLvl - $expLvlBase) * 100, 0);
steel97 (02.09.2017 в 23:08)
function getLevelExp($level) {
switch($level) {
case 1:
return 100;
case 2:
return 300;
}
}
$expLvlBase = getLevelExp($account['level']);
$expLvl = getLevelExp($account['level'] + 1);
$proc = round(($account['exp'] - $expLvlBase) / ($expLvl - $expLvlBase) * 100, 0);
function getLevelExp($level) {
switch($level) {
case 1:
return 100;
case 2:
return 300;
}
}
$expLvlBase = getLevelExp($account['level']);
$expLvl = getLevelExp($account['level'] + 1);
$proc = round(($account['exp'] - $expLvlBase) / ($expLvl - $expLvlBase) * 100, 0);
+++ у меня такая же система в игре.
271072004, чем же не нравится? я других решений этой задачи сразу и не вижу)
makasik (02.09.2017 в 22:40)
смотрите нужно сделать прогресс бар на опыт
но не могу придумать как правильно это сделать
т.е width:'.$proc.'%;
$proc=$account['опыт']*100/$account['до след лвл опыт '];
а вот как реализовать сколько надо до след лвл
смотрите нужно сделать прогресс бар на опыт
но не могу придумать как правильно это сделать
т.е width:'.$proc.'%;
$proc=$account['опыт']*100/$account['до след лвл опыт '];
а вот как реализовать сколько надо до след лвл
<?php
function curent($us_exp, $need_exp)
{
return ($us_exp / $need_exp) * 100
}
$proc = current($accaunt['exp'], $accaunt['to_next_level_exp']);
?>
MrCatOff, нужно учитывать что отсчет должен идти в рамках двух уровней(текущего и следующего), поэтому в формуле следует отнимать от "exp" и "to_next_level_exp" опыт текущего уровня
________
посл. ред. 02.09.2017 в 23:57; всего 1 раз(а); by steel97
________
посл. ред. 02.09.2017 в 23:57; всего 1 раз(а); by steel97
steel97, а обнулять не проще? Или тупо в штык добавлять? Смысл от такого опыта?
MrCatOff, об этом не подумал...но как-то что ли привычнее когда опыт растет(например в ПК РПГшках не помню что бы значение опыта обнулялось после получение уровня), к тому же если опыт не обнулять можно потом чисто по нему в рейтинге сортировку делать(в случае с обнулением придется сортировать по уровню и по опыту)
steel97,
Вот для вашего варианта, юзать:
________
посл. ред. 03.09.2017 в 00:13; всего 1 раз(а); by MrCatOff
<?php
function curent($us_exp, $need_exp, $last_exp)
{
return (($us_exp - $last_exp) / ($need_exp - $last_exp)) * 100
}
?>
Вот для вашего варианта, юзать:
<?php
$proc = curent($user['exp'], $user['need_exp'], $user['latest_exp']);
?>
________
посл. ред. 03.09.2017 в 00:13; всего 1 раз(а); by MrCatOff
Стр.: 1, 2