Puzzle

Материал из wiki.appsalutecreator.com
Перейти к: навигация, поиск
Puzzle1.png

Пазл (puzzle) — встроенный объект редактора, имеющий определенную игровую механику, которая заключается в том, чтобы собрать необходимое изображение из прямоугольных ячеек (частей). Ячейки пазла можно переставлять и вращать. По мере сбора пазла ячейки, оказывающиеся на своем месте, лишаются бордюра и пазл постепенно проявляется (см. рис.). У пазла может быть внешний бордюр (часть исходного изображения) который не разрезается на части и помогает при сборке. Пазл может быть увеличен и снова уменьшен (для работы на устройствах с маленьким экраном). Пазл сохраняется в файл с именем p<id_картинки>_<rows>_<cols>.puz (например p107_6_8.puz). При повторном сборе пазла вся информация берется из этого файла.


Игровые механики и режимы пазла

Возможны две игровые механики пазла: обычная, когда все ячейки есть на игровом поле, и пятнашки, когда одной ячейки нет (аналог обычных пятнашек). Есть три режима обычной механики: легкий, эксперт и мастер. Режим эксперт отличается от легкого режима лишь количеством ячеек на которые разбивается исходное изображение (в режиме эксперт их больше). В режиме мастер столько же ячеек, сколько и в режиме эксперт, лишь добавлена возможность поворота ячеек по часовой стрелке вокруг своих центров (подробнее см. описание поворота в разделе параметры). Ячейка поворачивается при повторном клике на нее мышью.


Параметры пазла

(Курсивом в скобках указан id параметра, или состояния)

  • Внешний вид
Картинка (res) — это исходное изображение (графический ресурс) которое нужно собрать;
Колонок (cols) — количество колонок, на которые разбивается картинка;
Строчек (rows) — количество строчек (рядов), на которые разбивается картинка;
Сетка? (g) — если 1 — отображается сетка после разделения картинки на ячейки. Если 0 — сетка не отображается;
Пометка (alChk) — прозрачность выбранной ячейки пазла в диапазоне от нуля (полностью прозрачна, или невидима) до единицы (полностью не прозрачна, или видима);
Фон (alBkg) — прозрачность (от нуля до единицы) исходной картинки, отображаемой под пазлом в игровом поле;
Ширина пазла (vW) — размер ширины игрового поля в пикселях;
Высота пазла (vH) — размер высоты игрового поля в пикселях;
Маска (msk) — графический ресурс (изображение), которое накладывается на картинку (например текстура для придания изображению рельефности);
Рамка (fr) — графический ресурс для рамки по краям ячейки;
Флаер (fly) — флаер (подробнее см. объект редактора «флаер»), изображающий удачный ход. Он будет запущен над ячейкой которая встала на свое место.
  • Звуки (Звуковые ресурсы перетаскивается мышью из редактора ресурсов в поле параметра, которое должно находится в состоянии редактирования))
Выбор (sDn) — звук при выборе ячейки;
Перестановка (sSh) — звук при перестановке ячеек;
На месте (sOk) — звук при становлении ячейки на нужное место.
  • Смешивать
Перестановку (alSwp) — при поочередном выборе ячеек кликом мыши для перестановки, возможны два варианта визуализации этого процесса: первый (значение параметра 1) — ячейки остаются неподвижными, изменяются лишь их изображения по прозрачности (от нуля до единицы); второй (значение параметра 0) — происходит перемещение ячеек (ячейки меняются местами);
Вращение (alRot) — визуализацию поворот ячейки в режиме «мастер» возможно осуществить двумя способами: первый (значение параметра 1) — ячейка остается неподвижной, изменяется лишь ее изображение по прозрачности (от нуля до единицы); второй (значение параметра 0) — происходит поворот ячейки.
  • Правила
Вращений (rot) — число возможных поворотов каждой ячейки пазла (0 — ячейки повернуть нельзя; 2 — два варианта положения ячейки, или поворот на 180°; 4 — четыре варианта положения ячейки, или поворот на 90°);
Переставлять? (sw) — если 0 — ячейки нельзя переставлять местами путем поочередного выбора их мышью, 1 — можно;
Пятнашки (fif) — если 0 — обычная механика игры, 1 — играем в пятнашки (см. игровые механики и режимы пазла).
  • Времена этапов
Невидимости (tmBeg) — время паузы перед открытием пазла;
Открытия (tmOpn) — время открытия картинки;
Показа (tmStt) — время отображения картинки перед тем, как она разделится на ячейки и перемешается. Это необходимо для того, чтобы игрок успел ознакомиться с изображением, которое ему необходимо собрать;
Перемешивания (tmMix) — время визуализации процесса перемешивания ячеек пазла;
Финала (tmFin) — время показа картнки когла она собрана. Это необходимо для того, чтобы игрок смог насладиться результатом своих стараний, а также смог повнимательнее разглядеть картинку;
Закрытия (tmCls) — время закрытия пазла (переход в состояние (close) по прозрачности (alpha) от единицы до нуля).
  • Счетчики
Таймер (time) — объект редактора «timer» привязывается к пазлу и дает возможность собирать пазл определенное время, или использовать его для спортивного интереса, фиксирую время, за которое игрок соберет пазл. Таким образом игрок сможет с гордостью заявить своим друзьям, что он собрал пазл за такое-то время;
Лучшее время (tmBest) — самое короткое время, за которое игрок собрал пазл. Оно считается лучшим и фиксируется в опциях для использования в прогрессе (см. объект редактора «progress»);
Счетчик (count) — объект редактора «counter» привязывается к пазлу и фиксирует количество ходов;
Лучший счетчик (ctBest) — наименьшее количество ходов за которое пазл собран. Оно считается лучшим и фиксируется в опциях для использования в прогрессе;
Показов хинт счетчик (cntShw) — объект редактора «counter» привязывается к пазлу и фиксирует количество оставшихся подсказок-отображения (hint), тип подсказки когда картинка отображается на некоторое время;
Перест. хинт счетчик (cntSwp) — объект редактора «counter» привязывается к пазлу и фиксирует количество оставшихся подсказок-перестановки (swap), тип подсказки когда выделенная, или произвольная ячейка становится на свое место;
Игра (game) — имя игры, раздел в опциях, который надо вычитать для получения начального значения прогресса (например, для отображения результатов);
Уровень (level) — имя уровня, параметра в разделе игра (см. выше), который надо вычитать для получения начального значения прогресса (например, для отображения результатов). В опциях записывается как «имя игры».«имя уровня» (game.level);
Сохранять в профиль (prof) — если 1, то все значения будут сохранены в текущий профиль, 0 — глобально.
Хозяйке на заметку: таким образом, с пазлом может быть связан таймер и три счетчика (числа ходов, и числа использования двух видов
подсказок). Если, например, счетчик числа ходов определен, в опциях (файл options.xml) сохраняются данные подобного вида:

<obj nm="options" >
   <pk1>
      <pz01 lv0="2" lv0ct="7" />
   </pk1>
</obj>
В этом примере параметр «игра» записывается как «pk1.pz01», а параметр «уровень» —  «lv0». Эти параметры могут быть заданы как в
свойствах пазла, так и внешними объектами. Наличие точки в параметре «игра» разбивает раздел опций на подразделы.


  • Времена игры
Перестановки (tmSwp) — время перестановки двух ячеек местами;
Поворота (tmRot) — время поворота ячейки;
Паузы (tmShw) — время паузы перед началом перестановки или поворота;
Подсказки1 (tmHnt1) — время за которое проявляется исходная картинка в состоянии (hint);
Подсказки2 (tmHnt2) — время в течении которого показывается исходная картинка в состоянии (hint) после проявления;
Подсказки3 (tmHnt3) — время в течении которого закрывается исходная картинка в состоянии (hint) после проявления.
  • Рейтинг (raiting) — если 1 — после того как пазл собран, отображается рейтинг.


Подсказки

В игре есть два вида подсказок: (hint) и (swap). Первый проявляет исходную картинку, второй переставляет две ячейки местами, из которых, по крайней мере одна, окажется на своем месте. Если кнопкой или машиной состояний перевести пазл в состояние (hint), то он исчезнет по прозрачности (за время tmHnt1), а исходная картинка проявится. Затем, в течении (tmHnt2), будет демонстрироваться исходная картинка, и за время (tmHnt3), она по прозрачности исчезнет, а пазл снова перейдет в стадию игры. Состояние (swap) ставит одну из ячеек (выделенную игроком, или произвольную) на свое место. Кроме этого пазл можно перевести в состояние (scale). В этом состоянии он увеличивается в размерах и его можно таскать по экрану. Повторение состояния (scale) уменьшает возвращает пазлу исходные размеры.

Возможные состояния объекта

(beg) — пауза перед состоянием (open);
(open) — картнка появлятся по прозрачности от нуля до единицы;
(start) — начальный показ картинки;
(mix) — перемещать ячейки;
(scale) — масштабирование (изменение размера) пазла;
(wait) — ожидание первого клика на ячейку;
(check) — проверка собранности пазла, если собран — переход в состояние (final);
(hint) — временное отбраджение картинки;
(swap) — выделенная, или произвольная ячейка становится на свое место;
(final) — показ картинки в конце игры;
(close) — закрытие пазла по прозрачности;
(end) — конец игры, пазл недоступен;
(init) — повторная инициализация картинки, переход в состояние (beg).


Немного о графике

Для придания ячейкам объема служит графический ресурс рамка. Он может быть квадратной картинкой, прозрачной в центре и с серой полупрозрачной маской на краях. Её размер особой роли не играет. Например, 128x128:

Border.png

Общая ширина и высота картинки пазла задает игровое поле. Кроме этого есть поля ширина пазла и высота пазла, которые определяют размер центральной области картинки, которая разбивается на ячейки. Если эта область меньше размеров картинки, появится внешний бордюр, помогающий при сборке.


Пример

Картинку пазла можно задать, перетянув изображение из редактора ресурсов в поле «картинка» (см. рис. слева), либо другим объектом (например кнопкой, или машиной)(см. рис. справа).