Мне нужен функция уровень и функция опыта расчета и процент для прогресс бара. В гугл искал его нет, поделись кодом.
вот прогресс бар на этой основе можешь сделать. http://php.net/manual/ru/session.upload-progress остальное я не понял.
VLK, я задал вопрос а не беседу разводить! Добавлено спустя 2 минуты 8 секунд: mahmuzar, не прогресс. А отрабатывает из опыта в расчет уровня или максимальный опыт который будет след уровень для игр. пример 1 ур => 0 опыт 2 ур => 10 опыт и так далее Например у меня опыт 12 то итог получаю 2 уровень получаю.
engine.energy, а почему это надо искать в гугле? Тут же элементарная математика. С ней тоже не очень дружите, что-ли? Код (Text): function level($experience) { return ((int) ($experience / 10)) + 1; }
mkramer мне нужно своя опыт а не каждый делитель. К примеру: Код (PHP): $level = array( 1 => 0, 2 => 10, 3 => 50, 4 => 200 ); function GetLevel($exp) { } function GetExp($exp) { } function GetMaxExp($exp) { } $exp = 10; echo 'Level: ' . GetLevel($exp); Добавлено спустя 9 минут 45 секунд: Сделал так пофик на него и так норм работает! Код (PHP): function __construct($user) { self::$_exp = $user->exp; self::$_data = array_reverse(array( 1 => 0, 2 => 50, 3 => 200, 4 => 500 ), true); } function GetLevel() { foreach(self::$_data AS $level => $max_exp) { if($max_exp <= self::$_exp) { return $level; } } } Добавлено спустя 21 минуту 28 секунд: Напилил короче с гугла всяких бардаков и написал свой и все получилось. Поделю вам код. Тема # Код (PHP): <?php namespace Classes\Models\User\Bar; class Model { static protected $_exp; static protected $_data; function __construct($user) { self::$_exp = $user->exp; self::$_data = array_reverse(array( 1 => 0, 2 => 50, 3 => 200, 4 => 500 ), true); } function GetLevel() { foreach(self::$_data AS $level => $max_exp) { if($max_exp <= self::$_exp) { return sprintf('%s уровень', $level); } } } function GetMaxLevel() { return max(array_keys(self::$_data)); } function GetExp() { foreach(self::$_data AS $level => $max_exp) { if($this->GetMaxLevel() == $this->GetLevel()) { return self::$_exp; } elseif($this->GetLevel() == $level) { return self::$_exp - $max_exp; } } } function GetMaxExp() { foreach(self::$_data AS $level => $max_exp) { if($this->GetLevel() + 1 == $level OR $this->GetMaxLevel() == $this->GetLevel()) { return $max_exp; } } } function GetPercent() { return ($this->GetExp() * 100 / $this->GetMaxExp()); } }
Вот интересно, человек глупые вопросы спрашивает, при этом вон код пишет и со статически методами и переменными, намеспейс использует, странно все это.
Не глупые, а трудно понимаемые. Просто у него мышление немного иначе идет в плане общения и разговора ввиду того, что он глухой. Глухие и разговаривают тоже не то чтобы очень понятно. Но это не мешает ему логически мыслить, строить архитектуру, изучать программирование. Он так пишет не потому, что глупый, а потому, что испытывает трудности именно в плане построения речи. Он быть может, поумнее нас будет. Я уже советовал ему больше читать, чтобы речь структурировать. Пока же да, несколько сложно понимать.
ну когда перестает работать один из органов чувств обостряются другие, исходя из этой логики он должен читать и писать лучше чем все мы взятые.
То, что ты сказал, не имеет никакого отношения к логике, если честно Чтение и письмо никак не связаны с развитием органов чувств. Человек в очках, по-твоему должен читать хуже/медленне/по слогам относительно человека без очков чтоли?
Давай жить дружно и не тыкать носом. Просто код я хорошо понимаю основу, но важно для меня это оптимизация кода. Вот и думал у вас есть идея о оптимизации что я выложил выше кода. Добавлено спустя 3 минуты 32 секунды: так как foreach жрет много оперативки памяти Добавлено спустя 2 минуты 50 секунд: Так как школу закончил 7 лет назад, все предметы на отлично, но русского языка всегда плохо и литература. Добавлено спустя 2 минуты 32 секунды: Я могу написать нормально русского если хорошо мысль будет составить правильное предложение. Но у меня этого не очень выходит....
Зато быстро работает. Это, порой, решает. Ты делал какие-то замеры, чтобы быть уверенным, что именно foreach-и в данный момент как-то тормозят проект? Обычно "бутылочное горлышко" редко когда оказывается в таких местах. Как я уже говорил, читай больше книг. Все само на места встанет. Я понимаю, что это, наверное тяжело, говорить, толком не зная, не слыша, правильно говоришь или нет. Хотя мысли-то ясные при этом. Это, наверное, все равно, что изучать иностранный язык - чем больше практики, включая чтение, тем лучше. А у тебя практики не так много, сдается мне, для своего возраста в силу известных обстоятельств. Что забавно, тот факт, что ты понимаешь написанное, но сам испытываешь трудности с написанием, тоже вписывается в стадии изучения иностранного языка. Причем в самый финал уже. После которого только практика нужна, не более.
Оптимизировать надо используя вот такие штуки: Профилирование PHP с XHprof. Там будет видно где происходят затыки и куда текут ресурсы. Языковые же конструкции просто работают, плюс-минут микросекунда ничего не решает, а экономия на спичках лишь потеря времени и снижение качества кода, не более того.