b733e4
Научим создавать свои игры, сайты и приложения
Начать учиться

Язык программирования Lua

Язык программирования Lua
8.7K

Lua — это скриптовый язык программирования, на котором можно создавать проекты в Roblox Studio. Поэтому, если вы хотели разработать свою первую игру на этой платформе, советуем заранее познакомиться с ним. А чтобы помочь в этом, мы расскажем, что представляет из себя Lua и как работать с ним.

В Roblox можно больше, чем просто играть
Научим детей и подростков программировать и создавать миры в Roblox
В Roblox можно больше, чем просто играть

Что такое язык программирования

Для общения с людьми мы используем правила: соблюдаем грамматику, синтаксис, орфографию и т. д. Подобные правила есть и для коммуникации с компьютером. И каждый язык программирования сам для себя определяет их рамки.

Язык программирования — это система знаков, которую используют, чтобы создавать программы для компьютера.

Основная функция языка программирования — это разработка компьютерной программы, которая будет понятна исполнителю. Следуя алгоритму, исполнитель проводит вычисления, после которых будет выполнена определённая цель.

Алгоритм — совокупность команд, которая позволяет достигать поставленных целей через выполнение задач.

Язык программирования передаёт конкретные задачи, инструкции, которые нужно выполнить. Человек создаёт алгоритм для компьютера, а компьютер, в свою очередь, их выполняет. Вне зависимости от программного обеспечения. Язык программирования — это некоторое связующее звено для того, чтобы человек смог объяснить компьютеру, что нужно делать.

Языков программирования много, и чтобы поговорить обо всех, не хватит и серии статей. Сегодня мы остановимся на конкретном языке программирования — Lua: узнаем историю его создания, разберём плюсы и минусы, а ещё узнаем, где его применяют.

История создания языка программирования Lua

Язык программирования Lua был создан в 1993 году членами группы технологий компьютерной графики, Tecgraf. Его создателями стали Роберто Иерусалимский, Луис Энрике де Фигейредо и Вальдемар Селессо.

Роберто Иерусалимский — бразильский ученый с докторской степенью в области компьютерных наук, приглашенный профессор в Стэнфордском университете в 2012 году и ведущий автор программирования на Lua.

Из-за политической позиции Бразилии члены общества не могли свободно пользоваться специальным программным обеспечением, прибывшим из других стран. Такое положение вынудило Tecgraf придумывать новые инструменты с самого начала.

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

Портирование — это процесс, при котором программу адаптируют для работы в другой среде так, чтобы она сохранила свои функции.

Далее узнаем, какие задачи стало решать проще с языком программирования Lua, а с какими трудностями пришлось столкнуться — обсудим преимущества и недостатки Lua в современном варианте.

Получи больше пользы от Skysmart:

Достоинства языка Lua

Несмотря на свой возраст, Lua всё ещё популярен у программистов. В том числе благодаря многочисленным обновлениям, которые разработчики до сих пор выпускают и тем самым исправляют ошибки прошлых версий. Но это лишь одно из массы преимуществ Lua. Теперь рассмотрим остальные.

  1. Портируемость. Как мы уже писали, при разработке языка создатели ориентировались на то, чтобы его можно было легко портировать на множество платформ. И у них это отлично получилось. Портировать программу, написанную на Lua, можно на разное программное обеспечение и с полным сохранением функционала. То есть, Lua — легко интерпретируемый язык на различные операционные системы.

  2. Интегрирование с C/С++. Такая интеграция позволяет минимизировать недостатки C/C++ и приумножить их преимущества. Lua представляет собой продукт, который нейтрализует минусы C: низкую степень независимости от аппаратного обеспечения, отсутствие качественных динамических структур, слабую, сложную работу тестирования и отладки. Но при этом сохраняет главные преимущества C: высокое быстродействие, взаимодействие с различным программным обеспечением и низкоуровневые операции.

  3. Простота синтаксиса. Создавая этот язык, разработчики ориентировались на рядового пользователя, который сможет без особых проблем разобраться в синтаксисе и начать создавать программы. Знаний английского будет достаточно для того, чтобы примерно понять, для чего нужны элементы кода.

  4. Скорость. Lua нельзя назвать чрезмерно быстрым, но интеграция с С позволяет в некоторых тестах обгонять другие скриптовые языки программирования.

  5. Информация. Разработчики внимательно относятся к пользователям, которые кодят на Lua, поэтому на его официальном сайте можно найти ответы на популярные вопросы. А если не удастся, вам поможет развитое сообщество разработчиков.

  6. Библиотеки и их добавление. В Lua есть много библиотек, которые позволяют решать большинство задач пользователя. Но если и этого вам мало, можно добавлять свои библиотеки. Более того, они могут быть написаны на языке C, то есть знание языка C позволит расширить функционал Lua и уже полностью использовать его преимущества. Иными словами, Lua — расширяемый язык программирования: мы можем изменять семантику, чтобы создавать программы было проще.

Недостатки языка Lua

Конечно, как и любой язык программирования, Lua имеет свои недостатки. Но в этом случае их сравнительно меньше.

  1. Lua зависим от других языков. Это небольшой язык, поэтому он во многом зависит от того языка, вместе с которым используется. Например, с C или C++.

  2. Необходимо знать дополнительные языки, чтобы лучше ориентироваться в синтаксисе. Исходники Lua написаны на С. А значит, без опыта работы с языком C будет сложнее разобраться в Lua.

  3. Lua — небольшой язык. Работать с глобальными проектами на Lua достаточно затруднительно. Этот язык больше подходит для создания небольших проектов.

  4. Стиль программирования отличается от привычного. У Lua есть свои особенности, непривычные рядовому программисту. Например, нумерация таблиц начинается не с 0, как это принято в большинстве языков, а с 1.

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

В каких программах используют Lua

Может быть, язык Lua не так распространён, но есть много различных программ, где он используется. Например, он нужен, чтобы создавать игры, работать в графических программах, разрабатывать приложения.

К случаям частого использования Lua можно отнести моды в Minecraft и программу Roblox Studio, где этот язык помогает разрабатывать различные проекты. Например, в Майнкрафт благодаря модификациям ComputerCraft и ComputerCraftEdu добавляют специального робота, которого мы можем запрограммировать. Такой робот может многое делать по алгоритмам: копать шахту, строить дом, уничтожать монстров или строить големов. Мы сможем даже поиграть с нашим роботом в игру «Камень, ножницы, бумага»! И всё это благодаря языку программирования Lua.

Визуальный код игры “Камень, ножницы, бумага”

Более того, этот мод добавляет специальные функции для взаимодействия с миром Майнкрафта. Интересно, что сначала можно запрограммировать робота с помощью блоков, а затем посмотреть, как это будет выглядеть на языке Lua.

Lua в Roblox Studio

Если эти модификации в Майнкрафт выполняют скорее ознакомительную функцию и позволяют поближе узнать язык Lua, то в случае с Roblox Studio всё работает по-другому. Благодаря этому языку здесь можно создавать полноценные плейсы, в которые будут играть тысячи игроков!

Что такое Roblox Studio

Roblox — это популярная платформа, где можно играть, общаться, создавать и публиковать свои проекты в разных жанрах. Казалось бы, что может быть лучше для детей и подростков? Но даже на этом Roblox не останавливается. Здесь действительно уникальна каждая игра, ведь их создают сами пользователи.

Разработчики Roblox предлагают специальный движок для создания игр — Roblox Studio, который подходит под любое программное обеспечение. Все проекты, которые создают на этом движке, можно будет опубликовать в самом Roblox, и тогда десятки тысяч игроков смогут оценить ваш проект. А в разработке вам поможет язык программирования Lua. Именно он позволит написать скрипты, чтобы создать ловушки, или, например, запрограммировать машину в игре.

Скрипт — набор строк кода, которые выполняют конкретную задачу

Мы разберём более подробно код Lua на примере паркура с различными блоками — ловушками.

Скрипт в Roblox: ловушка

Создадим ловушку, которая будет менять цвет в зависимости от того, можно на нее наступать или нет. Когда она зелёного цвета, мы можем на неё встать и перебежать на следующее испытание. Но если она красного цвета, то мы провалимся вниз.

Платформа-ловушка в Roblox

Подробно разберём скрипт для создания такой ловушки.

  1. В первой строчке создадим локальную переменную part1 — в ней будет храниться наш блок, который станет ловушкой.

  2. Дальше мы создаём локальную функцию hide и прописываем, что будет происходить, когда мы её вызываем. Наш блок меняет цвет на красный, а свойство CanCollide, то есть возможность наступать на этот блок, мы убираем.

  3. Дальше мы прописываем локальную функцию seem, где изменяем цвет на зеленый и добавляем возможность наступать на этот блок.

  4. Последними строчками мы прописываем цикл с условием, который будет работать бесконечно благодаря условию true.

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

Такой достаточно незамысловатый код на Lua позволяет нам сделать интересную ловушку для нашей игры.

Скрипт в Roblox: опасный парт

Разберём еще один скрипт и создадим опасный строительный блок в Roblox. Он называется парт.

Опасный парт в Roblox

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

Скрипт в Roblox: трамплин

Следующий парт не менее интересный и позволяет нашему персонажу взбираться на возвышенности.

Трамплин в Roblox

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

Последние два примера мы не стали разбирать детально. Всё потому, что лучше один раз попробовать написать самому, чем несколько раз прочитать об этом! Lua — достаточно простой язык, но при этом имеет широкий функционал. Благодаря нему вы сможете создавать не только такие интересные парты, но и целые игры! А в этом вам обязательно помогут наши курсы программирования, где опытные преподаватели научат разбираться даже в самом трудном коде и создавать множество уникальных игр. Увидимся на первом уроке!

Изображения «Roblox.com.» Creative Commons Zero (CC0).

Открыть диалоговое окно с формой по клику
Бесплатный вебинар
Бесплатный вебинар
Бесплатный вебинар
Научиться разработке
Подготовиться к ОГЭ/ЕГЭ
Получите план развития в программировании
  • Поможем с выбором IT-профессии
  • Вместе сделаем первый проект
  • Расскажем, как проходят занятия
Шаг 1 из 2
Шаг 1 из 2
Шаг 2 из 2