Цитата:
Сообщение от Vit
я пишу скрипт для сайта
|
Какой там скрипт может быть, если на самом легком застряли. Вот вам, писал когда-то непонятно для чего.
PHP код:
class playerInfo
{
public function __construct()
{
//
}
/***
* Функция getLevel
* Выполняет расчет уровня персонажа из полученного опыта
* @return (int) player level
*/
public function getLevel($experience)
{
// Список опыта, индексы массива совпадают с уровнем персонажа
// в случае добавления новых уровней, опишите опыт в конце записи
$listExp = array(0,
650, 2567, 6797, 15490, 30073, 52958, 87894, 140329, 213454,
307558, 483553, 608161, 825336, 1091985, 1418170, 1810467, 2332547, 3002259, 3820081,
4820228, 6115322, 7725199, 9727123, 12075781, 14762522, 17879938, 21482201, 25494737, 30171209,
35999532, 42807774, 50898898, 60588305, 73257434, 89381899, 109123921, 135145762, 165081925, 201229895,
243367815, 292723295, 350683175, 415055544, 485437946, 559304956, 643833129, 741341640, 853768081, 982677974,
1112677974);
// максимальный уровень персонажа
$maxLevel = (count($listExp) - 1);
// Проверим количество опыта у персонажа
if ($experience >= $listExp[$maxLevel]) {
// Количество опыта соответствует максимальному значению
return $maxLevel;
}
for ($level = 0; $level < $maxLevel; $level ++)
{
if ($experience > $listExp[$level] and $experience < $listExp[$level + 2])
{
return (($experience - $listExp[$level]) > ($listExp[$level + 1] - $experience) ? $level + 1 : $level);
}
}
}
}