Перейти к публикации
  • Сейчас на странице   Всего пользователей: 1   (0 пользователей, 1 гость)

Двапой

Учим веб-программирование на php

Рекомендованные сообщения

бля давно хотел на пхп хуярить научиться

прочитаю все обязательно, пиздато

Поделиться сообщением


Ссылка на сообщение

Cмысл функции getHeroStats, если там все значения прироста и базовых статов дефолтные.

Это разделение логики. Конечно можно было это написать в цикле, кода бы убавилось на две строки. Но так делать не надо, ибо, к примеру, функция может пригодится в будущем.

 

Вообще в будущем, по хорошему надо будет делать минимум так. Но это чисто от того что мне делать нечего.

 

<?php

interface HeroInterface {
   public $name;
   public $stats;
   public $statsIncrement;
   public function __constructor($name, $stats, $statsIncrement);
}

class Hero implements HeroInterface {
   public $name;
   public $stats;
   public $statsIncrement;

   /**
   * @param (string) $name
   * @param (array) $stats
   * @param (array) $statsIncrement
   * @return Hero
   **/
   public function __constructor($name, $stats, $statsIncrement) {
       $this->name = $name;
       $this->stats = $stats;
       $this->statsIncrement = $statsIncrement;
   }

   /**
   * @return (array) $stats
   **/
   public function getStatsOnLevel ($level) {
       if($level > 25)
           throw new Exception("Level must be < 25", 1);
       elseif($level < 1)
           throw new Exception("Level must be > 1", 1);

       return [
           $this->stats[0] + $this->statsIncrement[0] * ($level - 1),
           $this->stats[1] + $this->statsIncrement[1] * ($level - 1),
           $this->stats[2] + $this->statsIncrement[2] * ($level - 1)
       ];
   }
}

$hyroCopter = new Hero('Hyrocopter', [18, 24, 21], [1.8, 2.4, 2.1]);

for($level = 1; $level < 26; $level++) {
   echo 'Hyro stats: ' . implode(', ', $hyroCopter->getStatsOnLevel($level));
}

 

Не пытайтесь понять, а если попытаетесь и не поймете, то ничгео страшного. Это мы скоро с вами пройдем (я надеюсь).


Мобильное приложение для продоты https://play.google....id=ru.prodota.m

Поделиться сообщением


Ссылка на сообщение

Тебе на работе совсем делать нехуй? :trollface:


Русскоязычное сообщество Minecraft(кликабельно)

1ca7e1e06394857c53618143360f09cb.jpg

 

Королева боли

queen_of_pain_by_askatao-d4rsys0.jpg

 

 

Нежданчик

anigif_enhanced-buzz-26791-1354299164-7.gif

 

Поделиться сообщением


Ссылка на сообщение

Тестеры работают - я отдыхаю

тестеры не работают - они мудаки конченные


Публикация отключена

Поделиться сообщением


Ссылка на сообщение

Зачем тебе ХероИнтерфейс? Какие классы кроме Херо могут его реализовать?


ea9cfc2a8fd28fed94eac49d3e83bf58.gif

Поделиться сообщением


Ссылка на сообщение

 

 

Стандартные функции (работа с массивами)

 

Тут должны были быть еще строки, но лучше по отдельности. Это все таки две огромные темы в программировании. Но по сути строки это массив сиволов, но об этом позже.

 

 

Как вы уже знаете массивы используются для группирования чего либо. Массивы могут быть любой вложенности. То есть могут быть массивы массивов. Думаю вы проходили матрицы в школе, вот массив массивов по сути есть что-то подобное.

 

 

Вы навреное слышали такие слова применительно к программированию как - цикл, итерация, for, while for each...

цикл - это цикл

итерация это один шаг цикла (я об этом уже говорил?)

 

for, while, foreach это обозначения циклов в пхп. Точнее такие своеобразные функции для работы с массивами.

 

разберем как они работаю, и где что использовать

 

// массив четырех человек что отписались выше
$users = array("Двапой", "SPYHunter", "F1sher", "^p1x");

// давате их выведем на экран
//  с опомщью for
for($i = 0; $i < count($users); $i++) {
  echo "user " . $users[$i];
}

// с помощью while
$c = 0;
while($c++ < count($users)) {
  echo "user " . $users[$c];
}

// foreach
foreach($users as $user) {
  echo "user " . $user;
}

 

Вроде как все выведут одно и тоже :)

 

теперь разбор

 

for состоит из трех элементов, каждый из которых между собой разделяется точкой с запятой

 

- Первый элемент это создание или обозначение какой-либо переменной которая будет нам помогать с циклом. А поскольку наш массив начинается с нулегого элемента, то мы обозначаем нашу переменную за нуль.

 

- Второй элемент это условие выполнения цикла. Пока он является правдой TRUE уикл выполняется. Как становится FALSE цикл заканчивается. Тут мы сравниваем нашу переменную с колличеством элементов в массиве. Колличество эллементов определяется как count($massiv).

 

- Третий элемент это то что мы делаем каждый раз с нашей переменной (в нашем случае с переменной $i). Мы ее каждый раз увеличивам на 1

 

 

while "до тех пор пока", состоит из одного элемента - условия. Пока условие верно цикл продолжается. Думаю тут сами разберетесь.

 

foreach это моя любимая штука. ОЧЕНЬ редко использую все остальные циклы, хотя они быстрее, но не шибко удобнее.

форич принимает один элемент это массив, а потом просит указать название перменной в которую поместит наш элемент массива.

 

для этого используются ключевое слово as

 

 

Думаю на этот раз хватит.

 

И вот вам задание:

 

 

Создать функцию, которая принимает одно числовое значение и выводит на экран такую вот пирамиду. Высота пирамиды равна переданному значению.

*
**
***
...
***
**
*

 

То есть пирамида только из звездочек

 

троеточие показывает что ширина этой пирамиды может быть любой.

 

Решения скидывать мне в личку!

 

Вроде задание простое, с числами разобрался что почем, но с текстом...

Подскажите, как можно с текстом работать ("умножать" его итд или там в массив вписывать array ("#", "##) итд указывая переменную)

Как в конец массива добавлять я понял, а вот что делать с текстовым значением ?

Нихуя не догоню.

Поделиться сообщением


Ссылка на сообщение
(изменено)

Кстати, мб кому интересно, заходите сюда

http://school-php.com/video

Выполняете задания, пишете в скайп этому челу, он их проверяет.


Изменено пользователем bonzo

Поделиться сообщением


Ссылка на сообщение

 

 

Стандартные функции (работа с массивами)

 

Тут должны были быть еще строки, но лучше по отдельности. Это все таки две огромные темы в программировании. Но по сути строки это массив сиволов, но об этом позже.

 

 

Как вы уже знаете массивы используются для группирования чего либо. Массивы могут быть любой вложенности. То есть могут быть массивы массивов. Думаю вы проходили матрицы в школе, вот массив массивов по сути есть что-то подобное.

 

 

Вы навреное слышали такие слова применительно к программированию как - цикл, итерация, for, while for each...

цикл - это цикл

итерация это один шаг цикла (я об этом уже говорил?)

 

for, while, foreach это обозначения циклов в пхп. Точнее такие своеобразные функции для работы с массивами.

 

разберем как они работаю, и где что использовать

 

// массив четырех человек что отписались выше
$users = array("Двапой", "SPYHunter", "F1sher", "^p1x");

// давате их выведем на экран
//  с опомщью for
for($i = 0; $i < count($users); $i++) {
  echo "user " . $users[$i];
}

// с помощью while
$c = 0;
while($c++ < count($users)) {
  echo "user " . $users[$c];
}

// foreach
foreach($users as $user) {
  echo "user " . $user;
}

 

Вроде как все выведут одно и тоже :)

 

теперь разбор

 

for состоит из трех элементов, каждый из которых между собой разделяется точкой с запятой

 

- Первый элемент это создание или обозначение какой-либо переменной которая будет нам помогать с циклом. А поскольку наш массив начинается с нулегого элемента, то мы обозначаем нашу переменную за нуль.

 

- Второй элемент это условие выполнения цикла. Пока он является правдой TRUE уикл выполняется. Как становится FALSE цикл заканчивается. Тут мы сравниваем нашу переменную с колличеством элементов в массиве. Колличество эллементов определяется как count($massiv).

 

- Третий элемент это то что мы делаем каждый раз с нашей переменной (в нашем случае с переменной $i). Мы ее каждый раз увеличивам на 1

 

 

while "до тех пор пока", состоит из одного элемента - условия. Пока условие верно цикл продолжается. Думаю тут сами разберетесь.

 

foreach это моя любимая штука. ОЧЕНЬ редко использую все остальные циклы, хотя они быстрее, но не шибко удобнее.

форич принимает один элемент это массив, а потом просит указать название перменной в которую поместит наш элемент массива.

 

для этого используются ключевое слово as

 

 

Думаю на этот раз хватит.

 

И вот вам задание:

 

 

Создать функцию, которая принимает одно числовое значение и выводит на экран такую вот пирамиду. Высота пирамиды равна переданному значению.

*
**
***
...
***
**
*

 

То есть пирамида только из звездочек

 

троеточие показывает что ширина этой пирамиды может быть любой.

 

Решения скидывать мне в личку!

 

Вроде задание простое, с числами разобрался что почем, но с текстом...

Подскажите, как можно с текстом работать ("умножать" его итд или там в массив вписывать array ("#", "##) итд указывая переменную)

Как в конец массива добавлять я понял, а вот что делать с текстовым значением ?

Нихуя не догоню.

Гугли про курсор

Поделиться сообщением


Ссылка на сообщение

Кстати, мб кому интересно, заходите сюда

http://school-php.com/video

Выполняете задания, пишете в скайп этому челу, он их проверяет.

прикольынй сайт вроде и сделан недавно, спасибо

 

это пиздец

 

$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, если там все значения прироста и базовых статов дефолтные.

я просто проходил материал с функциями и решил свой пример сделать, где все, что я уже изучил будет использоваться.

Ну глобальные переменные советуют использовать как можно реже уже хз начиная с какого года. Там это приводится скорее всего для примера чисто или другого варианта просто не было.

 

<<<_END это heredoc. Он вроде не запрещен к использованию, можешь почитать о нем тут http://php.net/manual/ru/language.types.string.php . Это просто способ определения строк. С помощью него удобно html код запихивать. Мб он не слишком популярен.

 

Указателей я там не припомню


 

Би май дарлинг

 

Поделиться сообщением


Ссылка на сообщение

 

 

Стандартные функции (работа с массивами)

 

Тут должны были быть еще строки, но лучше по отдельности. Это все таки две огромные темы в программировании. Но по сути строки это массив сиволов, но об этом позже.

 

 

Как вы уже знаете массивы используются для группирования чего либо. Массивы могут быть любой вложенности. То есть могут быть массивы массивов. Думаю вы проходили матрицы в школе, вот массив массивов по сути есть что-то подобное.

 

 

Вы навреное слышали такие слова применительно к программированию как - цикл, итерация, for, while for each...

цикл - это цикл

итерация это один шаг цикла (я об этом уже говорил?)

 

for, while, foreach это обозначения циклов в пхп. Точнее такие своеобразные функции для работы с массивами.

 

разберем как они работаю, и где что использовать

 

// массив четырех человек что отписались выше
$users = array("Двапой", "SPYHunter", "F1sher", "^p1x");

// давате их выведем на экран
//  с опомщью for
for($i = 0; $i < count($users); $i++) {
  echo "user " . $users[$i];
}

// с помощью while
$c = 0;
while($c++ < count($users)) {
  echo "user " . $users[$c];
}

// foreach
foreach($users as $user) {
  echo "user " . $user;
}

 

Вроде как все выведут одно и тоже :)

 

теперь разбор

 

for состоит из трех элементов, каждый из которых между собой разделяется точкой с запятой

 

- Первый элемент это создание или обозначение какой-либо переменной которая будет нам помогать с циклом. А поскольку наш массив начинается с нулегого элемента, то мы обозначаем нашу переменную за нуль.

 

- Второй элемент это условие выполнения цикла. Пока он является правдой TRUE уикл выполняется. Как становится FALSE цикл заканчивается. Тут мы сравниваем нашу переменную с колличеством элементов в массиве. Колличество эллементов определяется как count($massiv).

 

- Третий элемент это то что мы делаем каждый раз с нашей переменной (в нашем случае с переменной $i). Мы ее каждый раз увеличивам на 1

 

 

while "до тех пор пока", состоит из одного элемента - условия. Пока условие верно цикл продолжается. Думаю тут сами разберетесь.

 

foreach это моя любимая штука. ОЧЕНЬ редко использую все остальные циклы, хотя они быстрее, но не шибко удобнее.

форич принимает один элемент это массив, а потом просит указать название перменной в которую поместит наш элемент массива.

 

для этого используются ключевое слово as

 

 

Думаю на этот раз хватит.

 

И вот вам задание:

 

 

Создать функцию, которая принимает одно числовое значение и выводит на экран такую вот пирамиду. Высота пирамиды равна переданному значению.

*
**
***
...
***
**
*

 

То есть пирамида только из звездочек

 

троеточие показывает что ширина этой пирамиды может быть любой.

 

Решения скидывать мне в личку!

 

Вроде задание простое, с числами разобрался что почем, но с текстом...

Подскажите, как можно с текстом работать ("умножать" его итд или там в массив вписывать array ("#", "##) итд указывая переменную)

Как в конец массива добавлять я понял, а вот что делать с текстовым значением ?

Нихуя не догоню.

 

С первого взгляда все оказалось очень просто.

А НЕ ДЕЛЕ ХУЙ ПИЗДА РАСПИДОРАСИЛО, но сделал. Надеюсь милаша двапой оценит. :limon:

 

Жду новые уроки и задания :tusila:

Поделиться сообщением


Ссылка на сообщение

короче смотрю уроки webtheory. норм ваще даже ахуенные уроки, не говорит 100 раз хуйню неавжную и все быстро по теме этц. сайт там по инвайтам. хочу на открытие получить

Поделиться сообщением


Ссылка на сообщение

двапой разленился, где новый урок и задание?

Поделиться сообщением


Ссылка на сообщение

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Восстановить форматирование

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Загрузка...

×
×
  • Создать...