Теперь, когда вы знаете, как войти в Verse с помощью UEFN, нужно убедиться, что вы хорошо понимаете основные понятия программирования.
В этом уроке мы начнём с самого простого. Даже если вам знакомы эти понятия, уделите немного времени, чтобы освежить свои знания. Иногда последующий урок ссылается на предыдущий, поэтому полезно понимать контекст и знакомиться с уроками по очереди.
Что такое программа
Программа — это набор инструкций, которые сообщают компьютеру, как сделать что-либо. Программа сообщает компьютеру, как получить входные данные (входящую информацию) и вернуть выходные данные (выходящую информацию).
Verse
Verse — это язык программирования, разработанный специально для видеоигр и симуляций. Это делает его хорошо приспособленным для конкретных игровых потребностей.
Что делают программы Verse
Программа Verse решает задачи.
Но компьютерам нужны очень буквальные инструкции. Как при заключении сделки с джинном, вы получаете именно то, что просите. В буквальном смысле.
Ошибки возникают, когда программист предполагает, что произойдёт, вместо того чтобы давать точные инструкции.
Компиляция
Программы пишутся так, чтобы их понимали люди. Но компьютеру нужно, чтобы эта программа была переведена на язык, понимаемый компьютером.
Это делается с помощью компилятора, который преобразует, или компилирует, программу из понятного человеку языка в машинный язык.
Алгоритмы
Алгоритм — это набор инструкций, написанных для решения проблемы или выполнения задачи. По сути это модель того, как должна работать программа.
Пора покормить кота? Алгоритм кормления кота может выглядеть следующим образом:
- Взять с полки банку кошачьего корма.
- Взять кошачью миску и поставить её на стол.
- Положить ложку рядом с миской.
- Открыть банку с кошачьим кормом.
- Выложить его в кошачью миску.
- Поставить миску так, чтобы кот мог до неё дотянуться.
- Подождать 12 часов, затем повторить.
Выполнение любого из этих шагов вне правильной последовательности может привести к тому, что кот останется голодным. Но если выполнить шаги в правильном порядке, кот будет довольным и сытым.

Кот накормлен!
Повторяющийся алгоритм называется циклом.
Кота кормят два раза в день, каждый день. Этот процесс выполняется в цикле и продолжается до тех пор, пока что-нибудь его не остановит. (Если процесс не удался, кот сообщит об этом громким звуковым сигналом.)
Когда вы создаёте игровую механику с помощью устройств в творческом режиме Fortnite, по сути вы пишете алгоритмы. Как игрок может достичь цели игры? Какое устройство будет продвигать игровой процесс? Какое устройство будет его блокировать? Что случится, если используется неправильное устройство или устройство используется в неправильной последовательности?
Программирование на Verse — отличный способ создать игровую механику путём преобразования алгоритмов в инструкции, понятные компьютеру. Как только вы «выучите ноты», вы сможете «писать музыку» быстро и весело и у вас появится возможность создавать механику, недоступную в творческом режиме Fortnite!
Тестирование алгоритма
Заинтригованы? Давайте посмотрим, как алгоритм работает в реальной жизни.
- Напишите алгоритм приготовления чашки ароматного чая или кофе.
- Точно следуйте своему алгоритму, чтобы приготовить напиток.
- Наконец, вы приготовили чай и попробовали его. Это можно пить?
- Если да, то ваш алгоритм готов.
- Если нет, нужно отладить последовательность, чтобы выяснить, какой шаг был пропущен или выполнен неправильно.
- Затем следует провести итерации (повтор после внесения одного или нескольких изменений) необходимое число раз, пока вы не получите идеальный напиток.

Исходный код и машинный код
Исходный код, или сокращённо код, — это программа, написанная программистом. Он называется исходным, потому что это версия программы в том виде, в каком она была написана изначально, то есть это источник программы. Машинный код — это код, получаемый, когда программа компилируется во что-то, понятное компьютеру.
Слова код и программа взаимозаменяемы, а программистов иногда называют кодерами.
Выполнение
Когда компьютер выполняет шаги программы, он запускает или выполняет эту программу. Если код не выполняется должным образом или не компилируется, в этом коде есть ошибки.
Ошибки в коде
Есть два варианта ошибок в коде:
- Ошибки компиляции — это когда код не компилируется в язык, понятный компьютеру.
- Программные ошибки (баги) присутствуют, когда код успешно компилируется, но программа не работает должным образом.
Ошибки компилятора
Самой частой причиной ошибок компилятора является неправильный синтаксис. (О программных ошибках мы поговорим чуть позже.) Каждый язык программирования следует точному набору правил, называемых синтаксисом. (Правила могут варьироваться в зависимости от языка, в этих уроках мы рассматриваем синтаксис Verse.)
Синтаксис — это то, как объединяются слова и символы, чтобы компилятор мог понять и скомпилировать инструкции программиста.
Синтаксис охватывает слова и символы, которые можно использовать в коде, а также их расположение, необходимое для успешной компиляции.
Во многих естественных языках стандартным синтаксисом является подлежащее (существительное) | сказуемое . Здесь подлежащее стоит первым, а сказуемое следует за ним. Предложение Кот спит соответствует этим синтаксическим правилам. Но если мы скажем Спящий есть кот, другой человек может не понять нашу мысль. В программировании это ещё более важно. Помните сделку с джинном в начале этого урока?

Помните сделку с джином?
Код Verse чувствителен к регистру. Это означает, что если что-то должно быть написано с заглавной буквы, но не написано (и наоборот), то Verse будет рассматривать это как ошибку синтаксиса, и код не будет скомпилирован. Также важно использовать пробелы именно так, как этого требует синтаксис.
| Выражение с правильным синтаксисом | Такое же выражение с неправильным синтаксисом |
|---|---|
Print("Привет, мир!") |
Print("Привет, мир!" |
Во втором примере возникнет ошибка компилятора, потому что в нём отсутствует закрывающая скобка ).
Ошибки в синтаксисе — это ошибки компилятора, поскольку они препятствуют успешной компиляции кода.
Программные ошибки
При наличии программных ошибок программа выполняется, но делает что-то странное или неожиданное.
Синтаксис касается слов и символов, а также того, как они расположены, а семантика — это то, что на самом деле означают эти строки кода.
Например, в английском языке базовое предложение состоит из подлежащего и глагола. Подлежащее — это кто-то или что-то, а сказуемое — это то, что подлежащее (существительное) делает или чем является.
Подлежащее (существительное) | сказуемое (синтаксис) не передаёт значения Кот спит (семантика).
И ошибка в смысле кода может привести к программной ошибке.
| Правильное выражение | Такое же выражение с программной ошибкой |
|---|---|
|
|
Во втором примере есть программная ошибка, потому что MiceCaught должно быть больше 1 для того, чтобы выражение Print(“Выиграл!”) было выполнено.
Другой способ анализа ситуации основан на том, что происходит при выполнении программы. Является ли результат ожидаемым? Или что-то пошло не так?
В приведённом выше примере справа игрок не выигрывает, поймав мышь, потому что, согласно коду, для победы нужно поймать больше одной мыши. Если нужно поймать только одну мышь, условие победы никогда не выполнится. Таким образом, хотя программа скомпилируется правильно, результат будет не таким, как вам (или игроку) хотелось бы.
Выводы
- Программа сообщает компьютеру сделать какое-либо действие, определяя порядок ввода и вывода данных.
- Компьютер понимает всё очень буквально и делает в точности то, что вы ему говорите, даже если это неправильно.
- Программа должна быть скомпилирована для перевода с человеческого языка на компьютерный.
- Алгоритм — это своего рода модель, которая показывает, как должна работать программа.
- Исходный код — это то, что люди могут читать и писать. Машинный код — это то, что компьютеры могут понять и выполнить.
- Семантика — это смысловое значение кода.
- Синтаксис — это набор правил написания кода.
- Ошибки компилятора — это ошибки, препятствующие компиляции программы.
- Программные ошибки присутствуют, когда код успешно компилируется, но программа не работает должным образом.