Вход
Приветствую Вас Гость
 

Подключаемый модуль и мини-игра "Unlock"

v.1.0

Подключение и запуск

Мини-игра "unlock" разрабатывалась как модуль, подключаемый к основной игре. Тем не менее в самом файле модуля присутствует локация [start] (и три вспомогательные), предназначенная для проверки работы модуля, и работающая как самостоятельная игра.

Чтобы подключить мини-игру к своей игре, скачайте последнюю версию в виде zip-архива и распакуйте в папку со своей игрой. Таким образом в папке с вашей игрой должны появиться папки "lib" и "res", а так же файлы "unlock.qsp" и "game.cfg". Последний можно удалить.

Теперь, когда все файлы лежат в нужных местах, вы можете подключить мини-игру как модуль, написав в своей игре две строчки:

inclib 'lib/easy.math.qsp'
inclib 'unlock.qsp'

Первая строчка обязательна, если вы не используете в своей игре библиотеку математических функций "easy.math.qsp". Эта строчка подключает урезанную версию библиотеки, необходимую для работы модуля "unlock".

Работа мини-игры тестировалась в плеерах Quest Soft Player 5.8.0 и qSpider 0.13.0 - в обоих случаях мини-игра была полностью работоспособна.

Для вызова мини-игры на экран, в нужном месте введите команду:

 @unlock.init
 

Через запятую можно указать следующие аргументы:

  • $args[0] — описание задачи, которую должен сгенерировать модуль, через параметры.
  • $args[1] — динамический код, выполняемый автоматически в различных точках работы модуля.

Параметры задачи

  • [btns_count:3] - количество кнопок. Кнопками названы блоки, нажатие на которые приводит к изменению состояния других блоков. Нижний предел: 3. Верхнего предела нет, но не рекомендуется задавать количество кнопок больше 9.
  • [mix_steps:1] - количество шагов перемешивания. По-умолчанию 1. Количество шагов перемешивания нужно варьировать в зависимости от количества кнопок и количества цветов. Однозначной формулы нет, однако, чтобы не утомлять игрока, количество шагов перемешивания так же не должно превышать девяти, хотя можно сделать и больше.
  • [colors:2] - количество цветов кнопок. Нижний предел 2 цвета, верхний предел - 7 цветов. Увеличение количества цветов приводит к усложнению игры. Следует заметить, что цвета - это всего лишь условное название отличительных особенностей кнопок. Вы можете использовать изображения растущих колонок, башен, изображения игральных костей, карт, шахмат - всё что угодно; или вовсе убрать изображения, оставив лишь числа.
  • [retape_mode:0] - режим игры. В игре предусмотрены три режима. По умолчанию 0. 0 - режим, в котором изменяется состояние всех кнопок, кроме нажатой. 1 - режим, в котором изменяется состояние нажатой и смежных ей кнопок. 2 - режим, в котором изменяется состояние кнопок смежных нажатой кнопке.
  • [extra_try:0] - дополнительные попытки. Количество попыток для решения задачи не может быть меньше количества шагов перемешивания, иногда это означает, что разгадка лежит в обратном повторении действий компьютера, когда он создавал загадку. Но вы можете облегчить игроку жизнь, дав ему большее количество попыток сложить головоломку. Верхний предел конечного числа попыток 9998. Если задать значение 9999 и выше, количество попыток будет бесконечным.

Точки вызова динамического кода

  • end_wind - динамический код, который будет выполнен при соблюдении условий победы. Вызывается на локации "unlock.push".
  • close - динамический код, выполняемый при отказе от решения задачи. В первую очередь он предназначен для фиксации задачи. Например, в игре "steel and magic" планировалось использовать мини-игру для вскрытия замков. Первый вызов задачи формировал её случайным образом, но затем игрок мог отказаться взламывать замок, а задача должна остаться прежней. Динамический код сохранял данные задачи, чтобы потом восстановить их при повторной попытке взломать замок. Вызывается на локации "unlock.close" непосредственно перед закрытием задачи.
  • lose_end - динамический код, который будет выполнен при соблюдении условий проигрыша. В примере данный кусочек динамического кода уничтожает все данные о задаче, то есть игру в случае проигрыша придётся начинать сначала. Вызывается на локации "unlock.push".
  • before - динамический код, который выполняется перед тем, как сформировать новую задачу. Предназначен в первую очередь для восстановления задачи из условного сохранения. Вызывается на локации "unlock.init".

Правила игры

Правила игры очень просты. Нажимая на кнопки, нужно добиться, чтобы они приобрели один цвет. В исходном виде мини-игры - зелёный.

В зависимости от режима игры, могут изменяться разные группы кнопок, но цвета всегда меняются в одинаковом порядке: ... зелёный -> голубой -> синий -> фиолетовый -> красный -> оранжевый -> жёлтый -> зелёный -> голубой -> ...

Если цветов в задаче задано меньше, соответственно цепочка смены цветов будет короче. Например, ... зелёный → оранжевый → жёлтый → зелёный → ...

Вам даётся определённое количество попыток (нажатий), чтобы решить головоломку. Если вы уложились в нужное количество попыток, вы выиграли, если нет - проиграли.

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

Наверх