Collapse

Материал из wiki.appsalutecreator.com
Версия от 14:45, 27 июня 2018; Sadovoy (обсуждение | вклад) (Структура файла)
Перейти к: навигация, поиск

Объект «Collapse» дает возможность организовать ряд игр, основанных на 3х "модах".
Все эти механики являются играми на поле, основой, которого является регулярная решетка. Игра происходит при помощи фишек, расположенных в ячейках поля.

27-12-2013 14-15-18.png
27-12-2013 16-18-35.png


Свойства

Общие параметры

  • Слушатель - Объект типа matchbattle.
  • Время партии - Время игры. По окончанию которого будет засчитано поражение.


Перегруженные правила

  • Типов фишек - Число разновидностей типов фишек.
  • Номер в фишках - Число номеров в фишках. Включая статические.
  • Номер бомбы - Номер фишки, который соответствует бомбе. Не будет генерироваться сам по себе.
  • Номер крестобомбы - Номер фишки, который соответствует крестобомбе, не будет генерироваться сам по себе.
  • Статический номер - Номер фишки, которую нельзя добавить к пометке. Используется, например, для игры, в которой необходимо спустить статические объекты вниз, очистив при этом поле.
  • Типов узлов - Число разновидностей типов нормальных узлов графа.
  • Условия пометки - Условия для вхождения фишек в пометку. 0 - любые фишки, 1 - должен совпадать номер, 2 - должен совпадать цвет, 3 - должен совпадать номер и цвет фишек.
  • Монотонность - Должны ли номера в первой пометке быть монотонной последовательностью.
  • Мин.пометка - Минимальное число фишек помечаемых в первой пометке.
  • Макс.пометка - Максимальное число фишек помечаемых в первой пометке.
  • Время пометки - Пометка завершается спустя заданное в этом поле время.
  • Переставлять - Фишки первой пометки переставляются.
  • Уменьшать - Фишки первой пометки уменьшают свой номер.
  • Удалять - Удалять ячейки первой пометки.
  • Условие удаления - Условия для удаления фишек: 0 - не удалять, 1 - должен совпадать тип, 2 - должен совпадать номер, 3 - должен совпадать тип ИЛИ номер, 4 - должен совпадать тип И номер.
  • Тип удаления - Тип удаления. 0 - заливка, 1 - вертикальные и горизонтальные линии, 2 - только сама пометка.
  • Мин.удаление - Минимальное число фишек, которое можно удалить.
  • Генерация без мачей - При генерации поля избегать готовых совпадений.
  • Проверка после осыпания - После осыпания фишек ещё раз перепроверить возможные комбинации ходов.
  • Добавление - Нужно ли добавлять фишки на поле. Или игра на разбор.
  • Схлопывание - Нужно ли схлопывание (Ликвидация пустых столбцов).
  • Менять тип узла - Увеличить ли тип нормальной ячейки, если над ней произошла трансформация фишек.
  • Поддерживать число ходов - При осыпании фишек проверить поле на то, чтоб обязательно был возможный ход.
  • Тащить фишку - Тащить первую фишку пометки за пальцем.
  • Завершать пометку - Не ждать отпускания пальца для завершения пометки - актуально в тех случаях, когда в ней всегда одинаковое число фишек.


Перегруженные цели

  • Очистить поле - Уничтожить соотв. % фишек. Не стоит комбинировать с досыпанием.
  • Перекрасить поле - Перекрасить все ячейки поля в базовый тип.
  • Уронить статические - Уронить все статические фишки на дно поля.
  • Уничтожить фишек - Уничтожить фишек, количество через запятую.


Внешний вид

  • Картинка - Графический ресурс картинки пазла.
  • Фишки - Не рекомендуется использовать. Заменено на добавляемые параметр, см.ниже.
  • Ячейки - Графический ресурс ячейки.
  • Курсор - Курсор для выделения фишек.
  • Колонок - Число колонок на которые разбивается пазл.
  • Строк - Число строк на которые разбивается пазл.
  • Авторазмер - Если 1, то для расчета размера ячеек используется картинка. 0 - размер ячейки = размер паззла / число ячеек
  • Сетка? - Если 1, то будет показана сетка при разрезке картинки на блоки. При 0 - сетки не будет.
  • Счетчик статических - Счетчик статических. Объект типа каунтер.
  • Прогресс статических - Прогресс-бар статических. Объект типа progress.



Времена этапов

  • невидимости - Начальная пауза перед откртыием пазлы.
  • открытия - Время открытия исходной картинки (проявляется по alpha).
  • показа - Время показа исходной картинки (после проявления).
  • перемешивания - Время визуализации процесса перемешивания ячеек.
  • финала - Время финального показа пазлы после её разбора, перед переходом к закрытию.
  • закрытия - Время закрытия пазлы (в состояниия close, исчезает по alpha).


Времена игры

  • перестановки - Время перестановки двух ячеек местами при их выборе.
  • движения - Время движения фишек от одного узла к соседнему.
  • движения верх - Время движения фишек от одного узла к соседнему при отскоке.
  • отскока - Время движения фишек вверх при отскоке. Т.о. при дефолтных значениях фишка отскакивает на 200 / 600 треть высоты фишки"
  • рождения и удаления - Время рождения и удаления фишки.
  • поворота - Время поворота ячейки при повторном клике на нее.
  • паузы - Время паузы перед началом перестановки или поворота.
  • подсказки1 - Время за которое проявляется исходная картинка в состоянии hint.
  • подсказки2 - Время в течении которого показывается после проявления исходная картинка в состоянии hint.
  • подсказки3 - Время в течении которого закрывается после показа исходная картинка в состоянии hint.


Хинт при бездействии

  • время задержки - Время бездействия, после которого следует показывать хинт.
  • машина - Объект, который будет установлен между двумя фишками.


Генерация поля

  • min размер кластера - min размер кластера из фишек одного типа
  • max размер кластера - max размер кластера из фишек одного типа


Звуки

  • нажатие на фишку - Звук нажатия на фишку.
  • перемещение фишки - Звук перемещения фищки.
  • возврат фишки - Звук возврата фищки при неудачном перемещении.
  • падение фишки - Звук для падения фишки.


Добавляемые свойства

+.png Изменить состояние / параметр объекта - выигрыш

- изменить состояние / параметр объекта в случае выигрыша.

+.png Изменить состояние / параметр объекта - проигрыш

- изменить состояние / параметр объекта в случае проигрыша

+.png Изменить состояние объекта - клик на одиночную

- изменить состояние объекта в случае клика на одиночную ячейку: открывает машину в которой необходимо объекту "Коллапс" установить состояние "del_last"

+.png Звук фишки

- Удаление, появление.

+.png Уровень сложности

- Номеров в фишках, Мин.размер кластера и Макс.размер кластера.

+.png Графика фишки

- Обычная: графический ресурс перетаскивается из редактора ресурсов.

+.png Эффект

- Объект, который будет вызываться при взрыве фишек. Должен иметь состояние beg.

+.png Эффект крестобомбы

- Эффект, который будет использоваться при взрыве крестобомбы. Должен иметь состояние beg.

Состояния

  • beg - пауза перед open
  • open - появляется по alpha-каналу
  • sel1 - ждем окончания первой пометки
  • sel1_end - показываем окончание первой пометки
  • sel1_transf1 - первая трансформация первой пометки
  • sel1_transf2 - вторая трансформация первой пометки
  • sel2 - ждем окончания второй пометки
  • sel2_end - показываем окончание второй пометки
  • sel2_trands1 - первая трансформация второй пометки
  • sel2_trands2 - вторая трансформация второй пометки
  • born - рождение фишек
  • move - перемещаем фишки
  • aftermatch - проверяем, не случилось ли чего-то после движения/добавления фишек
  • close - исчезает по alpha-каналу
  • end - недоступна, невидима
  • rotate_left - повернуть влево на 90 градусов
  • rotate_right - повернуть вправо на 90 градусов
  • undo - отменить один ход
  • remove_color
  • remove_single
  • shuffle_cols
  • remove_last - удалить последнюю кликнутую ячейку (покупное удаление одиночных)

Файл уровней

Объект умеет загружать настройки из файла уровней, для этих целей у объекта должны быть заданы:

  • файл уровня(levelFile) - путь к xml файлу уровней;
  • номер уровня(levelNum) - id уровня из файла уровней;

На текущий момент объект вычитывает уровень из файла только при старте, т.е. чтобы сменить уровень нужно или сменить экран или проинитить сцену с коллапсом.

Структура файла

<levels> <!-- style --> <style id="3"> <tokens norm="355"/> <tokens norm="356"/> </style> <!-- levels --> <level id="1" rows="2" cols="2" numTokenNums="2" > <field> 0,0, 0,0 </field> </level> <level id="2" rows="2" cols="2" numTokenNums="2" > <field> 0,0, 0,0 </field> </level> </levels> Где <style> - стиль в котором перечисляем настройки фишек (resID); <level> - один игровой уровень <field> - стартовая настройка поля

Поле

Итак поле для объекта это строка которая имеет разделитель фишки "," при этом пробелы игнорируются. Код каждой фишки может состоять от 1 до 5-ти символов "NTKXY". Т.е. объект воспринимает поле как последовательность "NTKXY,NTKXY,NTKXY,NTKXY".

Значение символов:

  • N - индекс фишки объекта ( стартует с "0");
    • 0 - рандомная обычная фишка;
    • 0-9 - рандомная обычная фишка;
    • * - "дырка" (пустая ячейка) которая никогда не заполнится;
    • # - "разовая дырка" (пустая ячейка) которая может заполнится (для Аркады);

Цели

Важно указать в самом объекте флаг "перегрузка целей"(override_goal) и зануляем все параметры в теге "перегруженные цели" - чтобы не добавлялись цели которые нам не нужны (уронить статические, очистить поле).

  • goalAny - выбить N фишек (у объекте параметр goal_any);
  • goalLines - выжить N генераций линий, для Аркады (у объекта параметр goal_lines);
  • goalLocks - убрать N замков (у объекта параметр goal_locks);
  • goalTokens - выбить N фишек конкретного цвета (последовательность через запятую для каждого нужного цвета); Объект пишет N параметров в себя goal_num_%N%, где %N% - номер фишки (нумерация с 0);Важно задавать количество цветов numTokenNums не меньшим чем количество целей - иначе уровень нельзя будет пройти;

Параметры

  • id - id уровня (объект возьмёт первый уровень который совпадёт по id);
  • cols - высота поля;
  • rows - ширина поля;
  • numTokenNums - количество цветов которые будет генерировать объект(если у вас режим дотсы - будьте бдительны, статическая фишка тоже считается цветом, и по-умолчанию она будет первой фишкой);
  • needCollapse - схлопывание фишек при пустой вертикальной линии;
  • needBirth - досыпание фишек (для аркады можно не указывать);
  • style - id стиля, применит указанный стиль (применит настройки фишек из стиля и запишет в себя строку tokenStyle (resID фишек через запятую));
  • chameleonTime - время изменения фишки-Хамелеон (у объекта параметр currentDt);
  • chameleonColors - перечень цветов, которые будет менять фишка-Хамелеон (у объекта параметр chameleonColors);

Бонусы

Аркада

Режим в котором ряд фишек добавляется снизу через время со сдвигом поля вверх. При этом проигрышь случается в случае когда мы не можем добавить ряд (размер поля увеличивается). В данном режиме очень не желательно использовать отмену действия (состояние undo).

  • dt0 - если больше 0 - включается режим аркады;
  • n - количество линий через которое время уменьшиться на множитель;
  • mult - множитель на которое уменьшиться время;

При работе режима, объект записывает строку (nextLine) в которой указан добавляемый ряд (цифры эквиваленты индексу фишки) и пинает обработчик - "запланирована новая линия в аркаде".

Пример

S:\!MOBILE\!!!EditorGames\Wiki_sample\test_collaps.zip