Гонка на время: Доставка пиццы — это одиночная игра, цель которой заключается в том, чтобы подобрать пиццу и доставить её в указанную зону доставки до истечения времени. За каждую успешную доставку игрок получает дополнительное время.
После каждого подбора пиццы увеличивается сложность, которая в данном примере называется уровень подбора. Зоны подбора помечаются тегом уровня подбора, и каждая новая зона подбора выбирается из доступных зон подбора для текущего уровня подбора.
На более высоких уровнях сложности зоны подбора должно быть сложнее достичь, однако за них должно начисляться больше очков.
После доставки уровень подбора сбрасывается.

В этом обучении представлено пошаговое руководство по созданию данной игры с помощью Verse.
Используемые возможности языка Verse
- цикл: для повторного выбора зон подбора и доставки, а также зацикливания основного игрового процесса в этом примере используется выражение
loop
. - race: выражение
race
запускает цикл подбора/доставки и прерывает данный цикл по истечении времени. Блокrace
выполняет несколько выражений одновременно и отменяет любое выражение, которое не завершилось первым. - spawn: Выражение
spawn
запускает асинхронное выражение в любом контексте. - option: переменная типа
option
может содержать одно значение или быть пустой. - defer: Выражение
defer
задерживает выполнение кода до выхода из текущей области видимости. - block: в этом примере выражение
block
используется для последовательного выполнения кода в асинхронном контексте (выражениеrace
). - if: выражение
if
проверяет условия и получает доступ к значениям, которые могут вызвать ошибку. - class: в этом примере создаётся класс Verse для отображения счёта игрока и управления им.
- конструктор: конструктор — это специальная функция, которая создаёт экземпляр связанного с ней класса.
- спецификаторы доступа: вы можете использовать спецификаторы доступа, чтобы задать уровень доступа для своего кода.
Используемые API Verse
- теги игрового процесса: при помощи тегов игрового процесса вы можете находить акторы, отмеченные тем или иным тегом, когда игра уже запущена.
- события: вы можете создавать собственные события в Verse и добавлять пользовательские функции, выполняемые при возникновении событий.
- интерфейс на Verse: создайте собственный внутриигровой интерфейс для отображения информации об игроке и игре.
Обзор
Ниже описана идеальная последовательность воссоздания такого острова.
В основе этого проекта лежат следующие модули обучения (завершите их перед тем, как продолжить):
- Создайте маркер цели по этапам, описанным в разделе Движущийся маркер цели.
- Создайте таймер по шагам, описанным в разделе Настраиваемый таймер обратного отсчёта.
После создания маркера цели и таймера выполните следующие шаги, чтобы создать полноценную игру: