5. Функции

Вы уже сталкивались с несколькими примерами вызова функций.
В главе 3 вызывалась функция alert, выводящая текстовое сообщение на экране.
Самое время начать продвижение в изучении функций, так как без них не обходится ни одна игра.
Функция — это блок кода, который может быть вызван по имени.
Напомним, что имена в скриптах BGT могут содержать лишь латинские буквы, цифры и знак подчёркивания.
Например, вы можете написать функцию с именем jump, отвечающую за прыжок игрока.
Всякий раз, когда вы хотите, чтобы игрок подпрыгнул, вы вызываете функцию jump и код внутри этой функции выполняется.
Функции оказывают большую помощь не только в структурировании вашего кода, но они так же помогают в многократном использовании каких-либо частей кода без нужды писать одинаковый код в разных частях программы.
Все функции, которые мы вызывали до сегодняшнего дня, входили в состав движка BGT, но вы так же можете создавать свои собственные функции.
Главное, что вы должны запомнить — это указывать функцию main, так как без неё компилятор не примет ваш скрипт.
Эта функция является точкой входа в программу.
В ней происходит инициализация переменных, загрузка звуков, показ экрана программы и т.д.
Мы уже встречались с этой функцией в главе 3.
Давайте посмотрим на следующий пример.
void main()
{
alert("Тест", "Сейчас мы используем функцию main()");
}
Данную функцию нельзя вызывать в любом месте программы.
Слово «void» указывает на то, что функция ничего не возвращает.
Возвращение данных функциями мы обсудим позже в этой главе.
Каждая функция имеет собственное имя.
Часто функции могут принимать некоторые параметры, указывающиеся в круглых скобках после имени функции.
Функция main не принимает никаких параметров, и поэтому список её параметров пуст.
Давайте рассмотрим пример функции, принимающей в качестве параметров минимальное и максимальное число, и возвращающей сумму этих чисел.
void main()
{
int x = add_numbers(3, 5);
alert("Вау", "3 + 5 равняется... " + x + "!");
}

int add_numbers(int first, int second)
{
int result = first + second;
return result;
}
В этом примере возникают новые для вас моменты, которые необходимо понять.
Прежде всего вы должны были заметить, как мы вызвали функцию сложения чисел из главной функции.
В качестве параметров ей были переданы числа 3 и 5.
Вы можете подставлять любые числа.
В заголовке функции add_numbers() между круглыми скобками указываются две целочисленных переменных с именами first и second, означающие первое и второе число.
Когда вы вызываете эту функцию, вы должны указывать 2 параметра.
Первое число присвоится первому параметру, а второе второму.
Вы можете называть параметры функции любыми именами.
Внутри функции создаётся целочисленная переменная, в которой будет сохранён результат сложения чисел , полученных через первый и второй параметры.
И в конце, используя оператор return мы возвращаем результат действия функции и выходим из неё.
Возвращённый результат записывается в ранее созданную переменную x и тут же печатается на экране.
Надеемся, вы так же заметили, что мы начали функцию add_numbers() не со слова «void», а со слова «int».
Слово «void» означает, что функция ничего не возвращает, а в нашем случае функция возвращает целое число, поэтому мы и перед именем функции указываем её тип как целочисленная «int».
Как в случае с переменными, объявление функций так же начинается с объявления её типа.
Далее мы даём нашей функции имя, желательно такое, чтобы вы потом смогли по названию понимать, что выполняет эта функция.
После имени функции, в круглых скобках мы через запятую перечисляем параметры функции, если они есть.
Затем внутри фигурных скобок пишется тело функции.
Посмотрите на следующий пример.
void main()
{
alert("Wow", "3 + 5 is... " + add_numbers(3, 5) + "!");
}

int add_numbers(int first, int second)
{
return first + second;
}
Этот пример аналогичен предыдущему.
Единственное что мы сделали, это не создавали специальную переменную для хранения результата, а вызвали функцию сложения внутри списка параметров функции вывода сообщения на экран.

Назад | Содержание | Вперёд

Поделитесь с друзьями

WordPress Lessons