Puzzle

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

Пазл (puzzle) — встроенный объект редактора, имеющий определенную игровую механику, которая заключается в том, чтобы собрать необходимое изображение из прямоугольных ячеек (частей) за минимальное количество шагов (перемещений частей пазла).

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

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

Border.png

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

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

  • Ячейки пазла можно переставлять и вращать. По мере сбора пазла ячейки, оказывающиеся на своем месте, лишаются собственного бордюра и пазл постепенно проявляется
  • У пазла может быть внешний бордюр (часть исходного изображения), который не разрезается на части и помогает при сборке.
  • Пазл может быть увеличен и снова уменьшен

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

  • обычная - все ячейки есть на игровом поле
  • пятнашки - одной ячейки нет (аналог обычных пятнашек).

Замечание. Чтобы корректно работала механика "пятнашки", в правилах нужно указать значение 1 для параметров "переставлять?" и "пятнашки". Если в "переставлять?" будет значение 0, то пазл будет запускаться с механикой "пятнашки", но уже в собранном виде.

Существует три уровня сложности сбора пазла с обычной механикой :

  • Легкий
  • Эксперт
  • Мастер

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

Важное замечание

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

Основные параметры пазла

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

Группа - внешний вид

  • Картинка (res) — это исходное изображение (графический ресурс) которое нужно собрать;
  • Колонок (cols) — количество колонок, на которые разбивается картинка;
  • Строчек (rows) — количество строчек (рядов), на которые разбивается картинка;
  • Сетка? (g) — отображение сетки:
1 — отображается сетка после разделения картинки на ячейки,
0 — сетка не отображается;
  • Пометка (alChk) — прозрачность выбранной ячейки пазла в диапазоне от нуля (полностью прозрачна, или невидима) до единицы (полностью не прозрачна, или видима);
  • Фон (alBkg) — прозрачность (от нуля до единицы) исходной картинки, отображаемой под пазлом в игровом поле;
  • Ширина пазла (vW) — размер ширины игрового поля в пикселях;
  • Высота пазла (vH) — размер высоты игрового поля в пикселях;
  • Маска (msk) — графический ресурс (изображение), которое накладывается на картинку (например текстура для придания изображению рельефности);
  • Рамка (fr) — графический ресурс для рамки по краям ячейки;
  • Рамка активной (fra) — графический ресурс для рамки вокруг активной ячейки;
  • Рамка соседей (frn) — графический ресурс для рамок вокруг соседних ячеек;
  • Флаер (fly) — флаер (подробнее см. объект редактора «флаер»), изображающий удачный ход. Он будет запущен над ячейкой которая встала на свое место.


Группа - звуки (Звуковые ресурсы перетаскивается мышью из редактора ресурсов в поле параметра, которое должно находится в состоянии редактирования))

  • Выбор (sDn) — звук при выборе ячейки;
  • Перестановка (sSh) — звук при перестановке ячеек;
  • На месте (sOk) — звук при становлении ячейки на нужное место.


Группа - смешивать

  • Перестановку (alSwp) — при поочередном выборе ячеек кликом мыши для перестановки, возможны два варианта визуализации этого процесса:
1 — ячейки остаются неподвижными, изменяются лишь их изображения по прозрачности (от нуля до единицы);
0 — происходит перемещение ячеек (ячейки меняются местами);
  • Вращение (alRot) — визуализацию поворот ячейки в режиме «мастер» возможно осуществить двумя способами:
1 — ячейка остается неподвижной, изменяется лишь ее изображение по прозрачности (от нуля до единицы);
0 — происходит поворот ячейки.


Группа - правила

  • Вращений (rot) — число возможных поворотов каждой ячейки пазла:
0 — ячейки повернуть нельзя;
2 — два варианта положения ячейки, или поворот на 180°;
4 — четыре варианта положения ячейки, или поворот на 90°;
  • Переставлять? (swp) — переставление ячеек местами путем поочередного выбора их мышью:
0 — нельзя,
1 — можно;
  • Пятнашки (fif) — механика игры:
0 — обычная механика игры,
1 — играем в пятнашки (см. игровые механики и режимы пазла);
  • Соседи (nei) — какие ячейки можно переставлять:
0 - переставлять можно любые ячейки,
1 — переставлять можно только соседние элементы.
  • Таскать (is_drag) — ячейки смениваются только поочередными кликами или еще дропом одну на другую:
0 - нельзя,
1 — можно.


Группа - времена этапов

  • Невидимости (tmBeg) — время паузы перед открытием пазла;
  • Открытия (tmOpn) — время открытия картинки;
  • Показа (tmStt) — время отображения картинки перед тем, как она разделится на ячейки и перемешается. Это необходимо для того, чтобы игрок успел ознакомиться с изображением, которое ему необходимо собрать;
  • Перемешивания (tmMix) — время визуализации процесса перемешивания ячеек пазла;
  • Финала (tmFin) — время показа картинки когда она собрана. Это необходимо для того, чтобы игрок смог насладиться результатом своих стараний, а также смог повнимательнее разглядеть картинку;
  • Закрытия (tmCls) — время закрытия пазла (переход в состояние (close) по прозрачности (alpha) от единицы до нуля).


Группа - счетчики

  • Таймер (timer) — объект редактора «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>
</pre>

В этом примере параметр «игра» записывается как «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) уменьшает возвращает пазлу исходные размеры.

Добавляемые параметры

Paz add par.jpg

Меню выбора Добавляемые параметры к объектам активируется по правой кнопки мыши.

+.png Изменить состояние объекта - После разбора перевести объект в новое состояние.

  • объект- после разбора перевести объект в состояние из следующего поля.
  • состояние - новое состояние для объекта из предыдущего поля.

+.png Изменить параметр объекта - После разбора изменить параметр объекта.

  • объект- после разбора этот объект меняет свой параметр.
  • свойство - параметр, который мы изменяем.
  • значение - новое значение параметра.

+.png Хинт запущен: изменить состояние объекта - перевести объект в состояние, при начале хинта ( включить маску).

  • объект- после разбора перевести объект в состояние из следующего поля.
  • состояние - новое состояние для объекта из предыдущего поля.

+.png Хинт завершён: изменить состояние объекта - перевести объект в состояние, после завершения хинта ( разблокировать маску).

  • объект- после разбора перевести объект в состояние из следующего поля.
  • состояние - новое состояние для объекта из предыдущего поля.

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

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

Пример

Объект «Пазл» в редакторе выглядит так:

01.JPG


Картинку пазла можно задать, перетянув изображение из редактора ресурсов в поле «картинка»:

02.JPG


либо с помощью другого объекта (например кнопкой, или машиной):

6.2.JPG


Выбор сложности игры делается отдельным экраном, на котором есть кнопки которые меняют параметры пазла:

6.3.JPG


Выбор сложности на устройстве:

6.3.1.JPG


И, наконец, пазл на устройстве выглядит примерно так:

6.4.JPG

Пример

Download