FIZICHESKOE_NASILIE #161 3 октября 2013 Кароч написал программку для расчета статов гирокоптера на каждом лвле, правда пока без учета плюсов и артефактов. $gbs - Gyro base strange, $gs - Gyro strange, $gpls - Gyro per lvl strange. Читаю второй день книгу http://rutracker.org/forum/viewtopic.php?t=3493259 <? $gbs = $gs = 18; $gba = $ga = 24; $gbi= $gi = 23; $gpls = 1.8; $gpla = 2.8; $gpli = 2.1; $lvl = 1; echo "Gyro basic stats on lvl " . $lvl . " are: " . $gbs . " str " . $gba . " agi " . $gbi . " int " . "<br />" . "<br />"; $lvl = 2; while ($lvl < 26) { raschetprirosta($gs, $ga, $gi); echo "Gyro str on lvl " . $lvl . " is " . $gs; echo " Gyro agi on lvl " . $lvl . " is " . $ga; echo " Gyro int on lvl " . $lvl . " is " . $gi; echo "<br />"; echo "<br />"; ++$lvl; } function raschetprirosta(&$n1, &$n2, &$n3) { global $gpls, $gpla, $gpli; $n1 += $gpls; $n2 += $gpla; $n3 += $gpli; } Цитата Поделиться сообщением Ссылка на сообщение
Двапой #162 3 октября 2013 Кароч написал программку для расчета статов гирокоптера на каждом лвле, правда пока без учета плюсов и артефактов. $gbs - Gyro base strange, $gs - Gyro strange, $gpls - Gyro per lvl strange. Читаю второй день книгу http://rutracker.org...c.php?t=3493259 <? $gbs = $gs = 18; $gba = $ga = 24; $gbi= $gi = 23; $gpls = 1.8; $gpla = 2.8; $gpli = 2.1; $lvl = 1; echo "Gyro basic stats on lvl " . $lvl . " are: " . $gbs . " str " . $gba . " agi " . $gbi . " int " . "<br />" . "<br />"; $lvl = 2; while ($lvl < 26) { raschetprirosta($gs, $ga, $gi); echo "Gyro str on lvl " . $lvl . " is " . $gs; echo " Gyro agi on lvl " . $lvl . " is " . $ga; echo " Gyro int on lvl " . $lvl . " is " . $gi; echo "<br />"; echo "<br />"; ++$lvl; } function raschetprirosta(&$n1, &$n2, &$n3) { global $gpls, $gpla, $gpli; $n1 += $gpls; $n2 += $gpla; $n3 += $gpli; } А теперь отфармотируй код, чтобы при этом:- все перменные были написаны полностью без сокращений и понятно.- чтобы все непонятные места были прокомментированы.- чтобы все "магические числа" (числа непонятно откуда) были прокомментированы.- чтобы в коде было всего два echo - один в функции, дургой вначале кода.- по возможности избався от глобавльных переменных (гбс, гба и т.д.) Как сможешь все это сделать - выйдешь на новый уровень Цитата Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
FIZICHESKOE_NASILIE #163 3 октября 2013 Вот, пожалуйста <? $GyroStr = 18; $GyroAgi = 24; $GyroInt = 23; // Присваиваем переменным значения базовых характеристик гирокоптера $GyroPerlvlStr = 1.8; $GyroPerlvlAgi = 2.8; $GyroPerlvlInt = 2.1; /* Присваиваем переменным значения приростов статов за уровень. Можно было сделать и иначе, например, не использовать переменные для прироста статов, а просто в функции "raschetprirosta" прибавлять значения */ $lvl = 1; // Эта переменная обозначает уровень героя, ей мы присваиваем значение 1 echo "Gyro basic stats on lvl " . $lvl . " are: " . $GyroStr . " str " . $GyroAgi . " agi " . $GyroInt . " int " . "<br />" . "<br />"; /* Характеристики героя на первом уровне соответствуют базовым характеристикам героя */ $lvl = 2; // Прирост статов начинает работать со второго уровня, поэтому присваиваем переменной значение 2 while ($lvl < 26) // Это цикл который будет прогонять нашу функцию со второго уровня по 25 { raschetprirosta($GyroStr, $GyroAgi, $GyroInt, $lvl, $GyroPerlvlStr, $GyroPerlvlAgi, $GyroPerlvlInt); // Вызов нашей функции ++$lvl; // Префиксный инкремент, который после расчета статов для каждого уровня будет увеличивать значение уровня на единицу } function raschetprirosta(&$n1, &$n2, &$n3, $l, $a1, $a2, $a3) // Сама функция. Здесь я использую передачу по ссылке в случае с переменной "n" { $n1 += $a1; // К значению силы на предыдущем уровне прибавляется прирост и это все присваивается значению силы на нынешнем уровне $n2 += $a2; $n3 += $a3; // Далее следует вывод на экран характеристик всеми нами любимого гирокоптера echo <<<_END Gyro stats on lvl $l : Str is $n1 Agi is $n2 Int is $n3 <br /> <br /> _END; } Цитата Поделиться сообщением Ссылка на сообщение
Двапой #164 3 октября 2013 Вот, пожалуйста <? $GyroStr = 18; $GyroAgi = 24; $GyroInt = 23; // Присваиваем переменным значения базовых характеристик гирокоптера $GyroPerlvlStr = 1.8; $GyroPerlvlAgi = 2.8; $GyroPerlvlInt = 2.1; /* Присваиваем переменным значения приростов статов за уровень. Можно было сделать и иначе, например, не использовать переменные для прироста статов, а просто в функции "raschetprirosta" прибавлять значения */ $lvl = 1; // Эта переменная обозначает уровень героя, ей мы присваиваем значение 1 echo "Gyro basic stats on lvl " . $lvl . " are: " . $GyroStr . " str " . $GyroAgi . " agi " . $GyroInt . " int " . "<br />" . "<br />"; /* Характеристики героя на первом уровне соответствуют базовым характеристикам героя */ $lvl = 2; // Прирост статов начинает работать со второго уровня, поэтому присваиваем переменной значение 2 while ($lvl < 26) // Это цикл который будет прогонять нашу функцию со второго уровня по 25 { raschetprirosta($GyroStr, $GyroAgi, $GyroInt, $lvl, $GyroPerlvlStr, $GyroPerlvlAgi, $GyroPerlvlInt); // Вызов нашей функции ++$lvl; // Префиксный инкремент, который после расчета статов для каждого уровня будет увеличивать значение уровня на единицу } function raschetprirosta(&$n1, &$n2, &$n3, $l, $a1, $a2, $a3) // Сама функция. Здесь я использую передачу по ссылке в случае с переменной "n" { $n1 += $a1; // К значению силы на предыдущем уровне прибавляется прирост и это все присваивается значению силы на нынешнем уровне $n2 += $a2; $n3 += $a3; // Далее следует вывод на экран характеристик всеми нами любимого гирокоптера echo <<<_END Gyro stats on lvl $l : Str is $n1 Agi is $n2 Int is $n3 <br /> <br /> _END; } Не вышло. Уменьши количество комментариев. переменные все еще называются по дебильному. Функция тоже. С выводом в виде echo тоже перовал, нге стоит использовать такие конструкции. В общем, все хуйня, давай по новой. Можно было сделать и иначе, например, не использовать переменные для прироста статов, а просто в функции "raschetprirosta" прибавлять значения Это не имеет значения, это писать нет смысла. Присваиваем переменным значения Любой адекватный человек и так поймет что это присвоение переменных, так что это тоже писать не надо. (просто - прирост статов за каждый лвл / базовые характеристики героя) Переменные не должны начинатся с заглавной буквы. Каждое обозначение переменной начинай с новой строки. Функция не читаемая. Все названия перменных и функций должны писаться на английском языке. $n1 += $a1; - такой хуйни быть не должноПсы. Если бы мне это кто-нибудь в свое время объяснил, я был бы ему очень благодарен. смотри, примерно прикинул // начальные статы гирокоптера $basicStr = 18; $basicAgi = 24; $basicInt = 23; // увеличения для каждого лвла $incrementStr = 1.8; $incrementAgi = 2.4; $incrementInt = 2.1; //функция получения произвольного значения статов // возвращает массив статов function getHeroStats ($level) { return array( $basicStr + $incrementStr * ($level - 1), $basicAgi + $incrementAgi * ($level - 1), $basicInt + $incrementInt * ($level - 1), ); } $level = 1; while($level++ < 25) { $stats = getHeroStats($level); echo 'Статы гирокоптера на ' . $level . 'lvl - str: ' . $stats[0] . ', agi: ' . $stats[1] . ', int: ' . $stats[2]; } не факт что это запустится, писал прямо тут, но логика верная Цитата Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
FIZICHESKOE_NASILIE #165 3 октября 2013 (изменено) спс, ща попробую чет везде нули получаются у тебя Изменено 3 октября 2013 пользователем FIZICHESKOE_NASILIE Цитата Поделиться сообщением Ссылка на сообщение
Двапой #166 3 октября 2013 ну да, надо было так //функция получения произвольного значения статов // возвращает массив статов function getHeroStats ($level) { // начальные статы гирокоптера $basicStr = 18; $basicAgi = 24; $basicInt = 23; // увеличения для каждого лвла $incrementStr = 1.8; $incrementAgi = 2.4; $incrementInt = 2.1; return array( $basicStr + $incrementStr * ($level - 1), $basicAgi + $incrementAgi * ($level - 1), $basicInt + $incrementInt * ($level - 1) ); } $level = 1; while($level++ < 25) { $stats = getHeroStats($level); echo 'Статы гирокоптера на ' . $level . 'lvl - str: ' . $stats[0] . ', agi: ' . $stats[1] . ', int: ' . $stats[2]; } так даже лучше - нет глобавльных перменных лишних Цитата Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
Гость morfeius #167 3 октября 2013 Спс за топик, изучу обязательно Цитата Поделиться сообщением Ссылка на сообщение
FIZICHESKOE_NASILIE #168 3 октября 2013 вот этот вариант у меня заработал (пхп 5.3) <? // Базовые характеристики гирокоптера $basicStr = 18; $basicAgi = 24; $basicInt = 23; // Прирост статов $incrementStr = 1.8; $incrementAgi = 2.8; $incrementInt = 2.1; //функция получения произвольного значения статов // возвращает массив статов function getHeroStats ($l, &$b1, &$b2, &$b3, $i1, $i2, $i3) { return array( $b1 + $i1 * ($l - 1), $b2 + $i2 * ($l - 1), $b3 + $i3 * ($l - 1), ); } $level = 0; while(++$level < 26) { $stats = getHeroStats($level, $basicStr, $basicAgi, $basicInt, $incrementStr, $incrementAgi, $incrementInt); echo 'Gyro stats on ' . $level . 'lvl - str: ' . $stats[0] . ', agi: ' . $stats[1] . ', int: ' . $stats[2] . "<br />" . "<br />"; } Цитата Поделиться сообщением Ссылка на сообщение
Двапой #169 3 октября 2013 это пиздец $stats = getHeroStats($level, $basicStr, $basicAgi, $basicInt, $incrementStr, $incrementAgi, $incrementInt); не делай так и указателей избегай, там где они не нужны Цитата Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
FIZICHESKOE_NASILIE #170 3 октября 2013 это пиздец $stats = getHeroStats($level, $basicStr, $basicAgi, $basicInt, $incrementStr, $incrementAgi, $incrementInt); не делай так и указателей избегай, там где они не нужны я уже понял. Просто книга то малость устаревшая как я понял) вот, довел до ума <? function getHeroStats ($level) { // Базовые характеристики гирокоптера $basicStr = 18; $basicAgi = 24; $basicInt = 23; // Прирост статов $incrementStr = 1.8; $incrementAgi = 2.8; $incrementInt = 2.1; //функция получения произвольного значения статов // возвращает массив статов return array( $basicStr + $incrementStr * ($level - 1), $basicAgi + $incrementAgi * ($level - 1), $basicInt + $incrementInt * ($level - 1), ); } $level = 0; while($level++ < 25) { $stats = getHeroStats($level); echo 'Gyro stats on ' . $level . 'lvl - str: ' . $stats[0] . ', agi: ' . $stats[1] . ', int: ' . $stats[2] . "<br />" . "<br />"; } Цитата Поделиться сообщением Ссылка на сообщение
Huxy9_ce5e #171 3 октября 2013 Автору огромное спасибо за топан, начинаю изучать. Цитата Первый официальный фанат ФК Жирона. GET HIGHER написал 06.05.2024 в 23:20: скам x200 Поделиться сообщением Ссылка на сообщение
FIZICHESKOE_NASILIE #172 3 октября 2013 Двапой, а можешь какую-то книжку посоветовать поновее чтобы? Цитата Поделиться сообщением Ссылка на сообщение
Двапой #173 3 октября 2013 php.net Цитата Мобильное приложение для продоты https://play.google....id=ru.prodota.m Поделиться сообщением Ссылка на сообщение
rogogo #174 3 октября 2013 Нахуя вам книжки, самая лучшая книга это чужой код. Есть доки, статьи, мне вот, например, этого хватает. Читал книгу только по джанго, и то, чтоб понять, как работает MVC, так как до этого не сталкивался Цитата Русскоязычное сообщество Minecraft(кликабельно) Королева боли Нежданчик Поделиться сообщением Ссылка на сообщение
FIZICHESKOE_NASILIE #175 3 октября 2013 Нахуя вам книжки, самая лучшая книга это чужой код. Есть доки, статьи, мне вот, например, этого хватает. Читал книгу только по джанго, и то, чтоб понять, как работает MVC, так как до этого не сталкивалсячтобы получить базу, потом уже офк практика Цитата Поделиться сообщением Ссылка на сообщение
Akimosik #176 3 октября 2013 Пожалуй лучше не сюда было бы написать, ну всё же спрошу здесь. html , php , css : как они связаны? И вроде же лучше сначала html(html5?) изучить а потом уже phph\css? Цитата Поделиться сообщением Ссылка на сообщение
rogogo #177 3 октября 2013 (изменено) Пожалуй лучше не сюда было бы написать, ну всё же спрошу здесь. html , php , css : как они связаны? И вроде же лучше сначала html(html5?) изучить а потом уже phph\css?html/css - для верстки страниц. С помощью них можно создавать статические страницы, задавать их внешний вид. Php добавляет логики, позволяет создавать динамические страницыСначала учишь html+css, потом выбираешь, на чем будешь программировать(php, js, python, ruby etc) Изменено 3 октября 2013 пользователем rogogo Цитата Русскоязычное сообщество Minecraft(кликабельно) Королева боли Нежданчик Поделиться сообщением Ссылка на сообщение
F1sher #178 3 октября 2013 это пиздец $stats = getHeroStats($level, $basicStr, $basicAgi, $basicInt, $incrementStr, $incrementAgi, $incrementInt); не делай так и указателей избегай, там где они не нужны я уже понял. Просто книга то малость устаревшая как я понял) вот, довел до ума <? function getHeroStats ($level) { // Базовые характеристики гирокоптера $basicStr = 18; $basicAgi = 24; $basicInt = 23; // Прирост статов $incrementStr = 1.8; $incrementAgi = 2.8; $incrementInt = 2.1; //функция получения произвольного значения статов // возвращает массив статов return array( $basicStr + $incrementStr * ($level - 1), $basicAgi + $incrementAgi * ($level - 1), $basicInt + $incrementInt * ($level - 1), ); } $level = 0; while($level++ < 25) { $stats = getHeroStats($level); echo 'Gyro stats on ' . $level . 'lvl - str: ' . $stats[0] . ', agi: ' . $stats[1] . ', int: ' . $stats[2] . "<br />" . "<br />"; } та книга не устаревшая, все работает. Почему ты вдруг решил, что она стара для тебя? Цитата Би май дарлинг http://www.youtube.com/watch?v=LhkUjA3D8ig Поделиться сообщением Ссылка на сообщение
rogogo #179 3 октября 2013 (изменено) Cмысл функции getHeroStats, если там все значения прироста и базовых статов дефолтные. Изменено 3 октября 2013 пользователем rogogo Цитата Русскоязычное сообщество Minecraft(кликабельно) Королева боли Нежданчик Поделиться сообщением Ссылка на сообщение
FIZICHESKOE_NASILIE #180 3 октября 2013 это пиздец $stats = getHeroStats($level, $basicStr, $basicAgi, $basicInt, $incrementStr, $incrementAgi, $incrementInt); не делай так и указателей избегай, там где они не нужны я уже понял. Просто книга то малость устаревшая как я понял)вот, довел до ума <? function getHeroStats ($level) { // Базовые характеристики гирокоптера $basicStr = 18; $basicAgi = 24; $basicInt = 23; // Прирост статов $incrementStr = 1.8; $incrementAgi = 2.8; $incrementInt = 2.1; //функция получения произвольного значения статов // возвращает массив статов return array( $basicStr + $incrementStr * ($level - 1), $basicAgi + $incrementAgi * ($level - 1), $basicInt + $incrementInt * ($level - 1), ); } $level = 0; while($level++ < 25) { $stats = getHeroStats($level); echo 'Gyro stats on ' . $level . 'lvl - str: ' . $stats[0] . ', agi: ' . $stats[1] . ', int: ' . $stats[2] . "<br />" . "<br />"; } та книга не устаревшая, все работает. Почему ты вдруг решил, что она стара для тебя?ну да, там походу для примера приводятся глобальные переменные, вывод через <<<_END, указатели и все такое. Вот я в первом моем случае использовал все это в одном примере. Получилось офк нерентабельно, двапой забраковал все. Ну я и подумал что глобал переменные, о которых в книге пишется, уже не актуальны. Ну мб они действительно только для примера там. Cмысл функции getHeroStats, если там все значения прироста и базовых статов дефолтные.я просто проходил материал с функциями и решил свой пример сделать, где все, что я уже изучил будет использоваться. Цитата Поделиться сообщением Ссылка на сообщение