<MyRusakov.ru />

Создание игр на Unreal Engine 4

Создание игр на Unreal Engine 4

Данный курс научит Вас созданию игр на Unreal Engine 4. Курс состоит из 12 модулей, в которых Вы с нуля освоите этот движок и сможете создавать самые разные игры.

В курсе Вы получите всю необходимую теоретическую часть, а также увидите массу практических примеров. Дополнительно, почти к каждому уроку идут упражнения для закрепления материала.

Помимо самого курса Вас ждёт ещё 5 бесплатных ценных Бонусов: «Динамическая смена дня и ночи», «Создание динамической погоды», «Создание искусственного интеллекта для NPC», «Создание игры под мобильные устройства» и «Создание прототипа RPG с открытым миром».

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Рекурсия в JavaScript

Рекурсия в JavaScript

Что такое рекурсия в JS? Это способность функции вызвать саму себя в своем теле. Рекурсивная функция обязательно должна иметь условие завершения, иначе мы попадем в бесконечный цикл. Случайное создание бесконечного цикла переполнит стек вызовов и браузер зависнет. Поэтому новички держатся от рекурсии подальше, на всякий случай.

Пример вызова обычной функции


let x = 1;
function simple(){
    x++;
};
simple();

Пример бесконечного цикла при вызове рекурсивной функции.


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

let x = 2;
function recursion(){
    x++;
    recursion();
}

Как применять рекурсию в JavaScript?


  • создавать повторяющиеся действия без использования классических циклов
  • делать анимацию
  • пример правильной рекурсии

С помощью рекурсии выведем в консоль числа от 3 до 6, так мы добавим в код возможность выхода из функции. Объявим глобальную переменную x со значением 3. Создадим функцию recursion(), в теле которой будем увеличивать содержимое переменной на 1 (x++) и выводить текущее значение x в консоль console.log(x). Сначала выведется число 3, к нему прибавится единица, значение переменной x станет равной 4, она также выведется на экран. Затем к 4 снова прибавится единица, значение переменной станет равной 5-ти. Это действие будет повторяться до тех пор, пока в переменной не окажется число 6. Как только нам вернется x со значением 6, работа функции завершится.

let x = 3;
function recursion(){
    x++;
    console.log(x);
    if (x > 5) {
        return x;
}
    recursion();
}
    recursion();

В результате в консоль выведутся следующие числа:

3
4
5
6

Пример рекурсии с массивами

Найдем сумму элементов массива при помощи рекурсии.

function summa(array, sum){
    sum += array.shift();

    if(array.length !=0){
        sum = rec(array, sum);
    }

    return sum;
}

console.log(rec([1,2,3], 0));

Функция summa первым параметром принимает массив, элементы которого мы будем суммировать при её вызове. Во второй параметр мы будем передавать результат суммы, с нулевым первоначальным значением. При помощи метода shift удаляем из массива array первый элемент и возвращает его значение. В результате изменится длина массива. Удаленный элемент присвоим переменной sum.

// текущее значение переменной sum = 1
0+1=1 // первоначальное значение + удаленный первый элемент массива

Создаем условие, где выясняем, есть ли ещё элементы в массиве? Если длина массива не равна нулю, значит, в массиве ещё есть элементы.

array.length !=0

Если есть, то вызываем рекурсию и начинаем все сначала - возвращаемся в массив и удаляем из него следующий элемент - 2.

sum += array.shift();

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

Когда наше условие перестало возвращать true - длина массива стала равняться нулю (пустой массив), функция перестает вызываться. В итоге цепочка вызовов вернет окончательную сумму - число 6.

Итого

Очень часто новички боятся решать задачи с помощью рекурсий. Но к счастью, в 90% случаях в программировании на JS вполне можно обойтись без рекурсий, например, заменив их циклами. Многие так и делают, не знают и не хотят ничего знать о рекурсиях. Что нужно изучать в JavaScript, чтобы с легкостью решать при решении задач, где что применять? Советую вам подобрать такой обучающий курс, где бы автор рассказал вам то, что он использует в своей практике программирования на JavaScript. Есть толковый видеокурс, где собрана уникальная практическая информация, которая необходима Вам для успешного освоения языка JavaScript.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

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

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

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