Bejewelled — различия между версиями
Epahomov (обсуждение | вклад) |
Avereskun (обсуждение | вклад) (→Дополнительные параметры) |
||
(не показано 48 промежуточных версий 4 участников) | |||
Строка 1: | Строка 1: | ||
− | Объект | + | {{TOC right}} |
− | Все эти механики являются играми на поле, основой | + | |
+ | [[Object|Объект]] '''Bejewelled''' дает возможность организовать ряд игр, основанных на 3х "модах". | ||
+ | |||
+ | Все эти механики являются играми на поле, основой которого является регулярная решетка. Игра происходит при помощи фишек, расположенных в ячейках поля.<br> | ||
[[Файл:03-02-2014 16-18-27.png|250px|thumb|right]] | [[Файл:03-02-2014 16-18-27.png|250px|thumb|right]] | ||
Строка 7: | Строка 10: | ||
*'''Слушатель''' - Объект типа matchbattle. | *'''Слушатель''' - Объект типа matchbattle. | ||
*'''Время партии''' - Время игры. По окончанию которого будет засчитано поражение. | *'''Время партии''' - Время игры. По окончанию которого будет засчитано поражение. | ||
+ | *'''Правила''' - '''"2"''' - Bejewelled. | ||
+ | *'''Файл уровня''' - файл *.xml - в этом файле прописаны правила для каждого уровня, вид игрового поля, фишки, бомбы, ячейки. | ||
+ | *'''Номер уровня''' - номер уровня, который берется по умолчанию из файла выше. | ||
+ | *'''Перегрузка''' - если '''"да"''', то перегружается часть правил (включаются '''Перегруженные правила'''). | ||
+ | *'''Перегрузка очков''' - если '''"да"''', то очки считаются с заданными в поле '''Перегруженные очки''' коэффициентами, иначе через объект Matchbattle. | ||
+ | *'''Перегрузка целей''' - если '''"да"''', то цель игры можно выбрать в группе '''Перегруженные цели'''. | ||
+ | |||
+ | |||
=Перегруженные правила= | =Перегруженные правила= | ||
[[Файл:03-02-2014 16-35-45.png|250px|thumb|right]] | [[Файл:03-02-2014 16-35-45.png|250px|thumb|right]] | ||
− | *'''Типов фишек''' - Число разновидностей типов фишек. | + | ''Внимание! Данные правила будут учитываться в игре, если они не заданы с другими параметрами в файле уровней, иначе правила будут вычитаны из *xml'' |
− | *''' | + | *'''Типов фишек''' (''numTokenTypes'') - Число разновидностей типов фишек. Например, сколько разных камней будет на поле. |
− | *'''Номер бомбы''' - Номер фишки, который соответствует бомбе. Не будет генерироваться сам по себе. | + | *'''Номеров в фишках''' - Число номеров в фишках. Включая бомбы: (''numTokenTypes''+2), нумерация с 0, например "0" - крестобомба, "1" - бомба, "2"... - фишки. |
− | *'''Номер крестобомбы''' - Номер фишки, который соответствует крестобомбе, не будет генерироваться сам по себе. | + | *'''Номер бомбы''' - Номер фишки, который соответствует бомбе. Не будет генерироваться сам по себе - хинт. |
− | *''' | + | *'''Номер крестобомбы''' - Номер фишки, который соответствует крестобомбе, не будет генерироваться сам по себе - хинт. |
− | *'''Типов узлов''' - Число разновидностей типов нормальных узлов графа. | + | *'''номер неуничтожимой фишки''' - номера фишек через запятую, которые являются неуничтожимыми для правила "опустить фишку вниз". |
+ | *'''Типов узлов''' (''numNodTypes'') - Число разновидностей типов нормальных узлов графа - уровень залочки ячейки, нумерация с 0. Поле Внешний вид - ячейки должно содержать анимацию с этим числом кадров. | ||
*'''Условия пометки''' - Условия для вхождения фишек в пометку. 0 - любые фишки, 1 - должен совпадать номер, 2 - должен совпадать цвет, 3 - должен совпадать номер и цвет фишек. | *'''Условия пометки''' - Условия для вхождения фишек в пометку. 0 - любые фишки, 1 - должен совпадать номер, 2 - должен совпадать цвет, 3 - должен совпадать номер и цвет фишек. | ||
*'''Монотонность''' - Должны ли номера в первой пометке быть монотонной последовательностью. | *'''Монотонность''' - Должны ли номера в первой пометке быть монотонной последовательностью. | ||
Строка 34: | Строка 46: | ||
*'''Тащить фишку''' - Тащить первую фишку пометки за пальцем. | *'''Тащить фишку''' - Тащить первую фишку пометки за пальцем. | ||
*'''Завершать пометку''' - Не ждать отпускания пальца для завершения пометки - актуально в тех случаях, когда в ней всегда одинаковое число фишек. | *'''Завершать пометку''' - Не ждать отпускания пальца для завершения пометки - актуально в тех случаях, когда в ней всегда одинаковое число фишек. | ||
+ | |||
+ | =Подкрученное досыпание= | ||
+ | ''Внимание! Данные правила будут учитываться в игре, если они не заданы с другими параметрами в файле уровней, иначе правила будут вычитаны из *xml'' | ||
+ | *'''Минимально ходов''' - минимальное желаемое число ходов на старте игры. | ||
+ | *'''Максимально ходов''' - максимальное желаемое число ходов на старте игры. | ||
+ | *'''Добавить цветов''' - число цветов, которых будет больше при досыпе. | ||
+ | *'''Коэффициент цветов''' - коэффициент, который применяется к числу из поля выше. Чем больше, тем проще уровень. | ||
+ | |||
+ | |||
+ | =Перегруженные очки= | ||
+ | *'''За фишку''' - три числа через запятую, задающие очки за фишку при матч 3,4,5. | ||
+ | *'''За разлочку''' - последовательность чисел через запятую, задающая очки за каждую стадию разлочки ячейки. | ||
+ | *'''За замки''' - последовательность чисел через запятую, задающая очки за каждую стадию замка на ячейке. | ||
+ | *'''За шоколад''' - очки за уничтоженную плитку шоколада. | ||
+ | *'''За длинные матчи''' - число, задающее очки за матч 4,5,6... | ||
+ | *'''За комбо''' - число, задающее очки за матчи в единицу времени. | ||
+ | *'''Время комбо''' - время для поля выше. | ||
+ | *'''За секунду''' - коэффициент для очков за оставшееся время в игре на время. | ||
+ | *'''За ход''' - коэффициент для очков за оставшиеся ходы в игре на ходы. | ||
+ | |||
+ | |||
=Перегруженные цели= | =Перегруженные цели= | ||
+ | ''Необходимо выбрать одну цель игры'' | ||
*'''Очистить поле''' - Уничтожить соотв. % фишек. Не стоит комбинировать с досыпанием. | *'''Очистить поле''' - Уничтожить соотв. % фишек. Не стоит комбинировать с досыпанием. | ||
*'''Перекрасить поле''' - Перекрасить все ячейки поля в базовый тип. | *'''Перекрасить поле''' - Перекрасить все ячейки поля в базовый тип. | ||
*'''Уронить статические''' - Уронить все статические фишки на дно поля. | *'''Уронить статические''' - Уронить все статические фишки на дно поля. | ||
*'''Уничтожить фишек''' - Уничтожить фишек, количество через запятую. | *'''Уничтожить фишек''' - Уничтожить фишек, количество через запятую. | ||
+ | |||
+ | |||
=Внешний вид= | =Внешний вид= | ||
− | *'''Картинка''' - Графический ресурс картинки | + | *'''Картинка''' - Графический ресурс картинки паззла (не обязательно). |
− | *'''Фишки''' - Не рекомендуется использовать. Заменено на добавляемые параметр, см.ниже | + | *'''Фишки''' - Не рекомендуется использовать. Заменено на добавляемые параметр, см.ниже '''Графика фишки''' |
− | *'''Ячейки''' - Графический ресурс ячейки. | + | *'''Ячейки''' - Графический ресурс ячейки (может быть клипом из нескольких состояний залочки ячейки). |
− | *'''Курсор''' - Курсор для выделения фишек. | + | *'''Курсор''' - Курсор для выделения фишек (не обязательно). |
+ | *'''Обводка''' - Клип с границами ячеек, 0-й фрейм - верх, дальше по часовой стрелке (обводит поле) (не обязательно). | ||
*'''Колонок''' - Число колонок на которые разбивается пазл. | *'''Колонок''' - Число колонок на которые разбивается пазл. | ||
*'''Строк''' - Число строк на которые разбивается пазл. | *'''Строк''' - Число строк на которые разбивается пазл. | ||
*'''Авторазмер''' - Если 1, то для расчета размера ячеек используется картинка. 0 - размер ячейки = размер паззла / число ячеек | *'''Авторазмер''' - Если 1, то для расчета размера ячеек используется картинка. 0 - размер ячейки = размер паззла / число ячеек | ||
*'''Сетка?''' - Если 1, то будет показана сетка при разрезке картинки на блоки. При 0 - сетки не будет. | *'''Сетка?''' - Если 1, то будет показана сетка при разрезке картинки на блоки. При 0 - сетки не будет. | ||
− | *''' | + | *'''Пометка''' - Прозрачность помеченной ячейки. |
− | *''' | + | *'''Фон''' - Прозрачность исходной картинки, рисуемой под паззлом. Если '''"0"''' - то не рисуется. |
− | = | + | *'''Таймер''' - таймер, связанный с игрой. |
− | *''' | + | *'''Очки''' - счетчик очков, связанный с игрой. Будет работать, если используются '''Перегруженные очки''' |
− | *''' | + | |
− | *''' | + | |
− | *''' | + | =Времена этапов= |
− | *''' | + | *'''Невидимости''' - пауза перед открытием паззла. |
− | + | *'''Открытия''' - время открытия исходной картинки (появляется по альфа). | |
+ | *'''Показа''' - время показа исходной картинки после появления. | ||
+ | *'''Перемешивания''' - время визуализации процесса перемешивания ячеек. | ||
+ | *'''Финала''' - время финального показа паззла после его разбора перед закрытием. | ||
+ | *'''Закрытия''' - время закрытия паззла (исчезает по альфе). | ||
+ | |||
+ | |||
+ | =Времена игры= | ||
+ | *'''Перестановки''' - время перестановки двух ячеек местами при их выборе. | ||
+ | *'''Движения''' - время движения фишек от одного узла к соседнему. | ||
+ | *'''Движения вверх''' - время движения фишек от одного узла к соседнему при отскоке. | ||
+ | *'''Отскока''' - время движения фишек вверх при отскоке. Т.е. при дефолтных значениях фишка отскакивает на 200 / 600 треть высоты фишки. | ||
+ | *'''Рождения и удаления''' - время рождения и удаления фишки. | ||
+ | *'''Поворота''' - время поворота ячейки при повторном клике на нее. | ||
+ | *'''Паузы''' - время паузы перед началом перестановки или поворота. | ||
+ | *'''Подсказки 1''' - время за которое проявляется исходная картинка в состоянии hint. | ||
+ | *'''Подсказки 2''' - время в течении которого показывается после проявления исходная картинка в состоянии hint. | ||
+ | *'''Подсказки 3''' - время в течении которого закрывается после показа исходная картинка в состоянии hint. | ||
+ | |||
+ | |||
+ | =Хинт при бездействии= | ||
+ | *'''Время задержки''' - время бездействия, после которого следует показывать хинт. | ||
+ | *'''Машина''' - машина состояний, которая будет установлена между двумя фишками. Должна иметь состояния ''show'' и ''hide''. | ||
+ | |||
+ | |||
+ | =Звуки= | ||
+ | *'''Нажатие на фишку''' - звук нажатия на фишку. | ||
+ | *'''Перемещение фишки''' - звук перемещения фищки. | ||
+ | *'''Возврат фишки''' - звук возврата фищки при неудачном перемещении. | ||
+ | *'''Падение фишки''' - звук для падения фишки. | ||
+ | |||
+ | |||
+ | =Специальные типы ячеек= | ||
*'''Залоченная фон''' - Графика подложки для залоченной ячейки. | *'''Залоченная фон''' - Графика подложки для залоченной ячейки. | ||
*'''Залоченная нашлепка''' - Графика нашлепки для залоченной ячейки. | *'''Залоченная нашлепка''' - Графика нашлепки для залоченной ячейки. | ||
Строка 62: | Строка 131: | ||
*'''Шоколадка''' - Графика ячейки-шоколадки | *'''Шоколадка''' - Графика ячейки-шоколадки | ||
*'''Размножать шоколадку''' - Раз во сколько ходов будет размножаться шоколад. | *'''Размножать шоколадку''' - Раз во сколько ходов будет размножаться шоколад. | ||
− | ==Графика фишки== | + | *'''вечная Шоколадка''' - Графика ячейкине-убиваемой шоколадки |
+ | *'''Размножать вечную шоколадку''' - Раз во сколько ходов будет размножаться вечная шоколадка. | ||
+ | *'''телепорт вход''' - Графика входа в телепорт | ||
+ | *'''телепорт выход''' - графика выхода из телепорта | ||
+ | *'''заряжать клумбу (фишек)''' - количество матчей возле клумбы, для ее зарядки | ||
+ | *'''клумба создает (фишек)''' - количество фишек определенного цвета которые создает заряженная по-максимуму клумба | ||
+ | |||
+ | =Добавляемые свойства= | ||
+ | ===[[Файл:+.png]] Изменить состояние объекта - выигрыш=== | ||
+ | - после разбора изменить состояние объекта. | ||
+ | *'''Объект''' - объект, состояние которого меняем. | ||
+ | *'''Состояние''' - состояние - значение нового состояния. | ||
+ | |||
+ | |||
+ | ===[[Файл:+.png]] Изменить параметр объекта - выигрыш=== | ||
+ | - после разбора изменить параметр объекта. | ||
+ | *'''Объект''' - объект, состояние которого меняем. | ||
+ | *'''Свойство''' - параметр, который мы изменяем. | ||
+ | *'''Значение''' - новое значение параметра. | ||
+ | |||
+ | |||
+ | ===[[Файл:+.png]] Изменить состояние объекта - проигрыш=== | ||
+ | - после окончания времени изменить состояние объекта. | ||
+ | *'''Объект''' - объект, состояние которого меняем. | ||
+ | *'''Состояние''' - состояние - значение нового состояния. | ||
+ | |||
+ | |||
+ | ===[[Файл:+.png]] Изменить параметр объекта - проигрыш=== | ||
+ | - после окончания времени изменить параметр объекта. | ||
+ | *'''Объект''' - объект, состояние которого меняем. | ||
+ | *'''Свойство''' - параметр, который мы изменяем. | ||
+ | *'''Значение''' - новое значение параметра. | ||
+ | |||
+ | |||
+ | ===[[Файл:+.png]] Изменить состояние объекта - бомба=== | ||
+ | - изменить состояние объекта после успешной установки бомбы. | ||
+ | *'''Объект''' - объект, состояние которого меняем. | ||
+ | *'''Состояние''' - состояние - значение нового состояния. | ||
+ | |||
+ | |||
+ | ===[[Файл:+.png]] Звук фишки=== | ||
+ | - переопределяет звук для фишки с определенным номером. Номера придется отсчитывать руками: подключаются по порядку в соответствии с '''Графикой фишки'''. Нумерация с 0, т.е. если номер бомбы =0, крестобомбы =1, то первое добавленное свойство будет для бомбы, второе для крестобомбы, далее - для фишек. | ||
+ | *'''Удаление''' - звук удаления фишки. | ||
+ | *'''Появление''' - звук появления фишки. | ||
+ | |||
+ | |||
+ | ===[[Файл:+.png]] Эффект=== | ||
+ | - Объект, который будет вызываться при взрыве фишек. Должен иметь состояние beg. | ||
+ | *'''Объект''' - объект. | ||
+ | |||
+ | |||
+ | ===[[Файл:+.png]] Эффект перекраски ячейки=== | ||
+ | - Объект, который будет вызываться для эффекта перекраски ячейки. Должен иметь состояние beg. | ||
+ | *'''Объект''' - объект. | ||
+ | |||
+ | |||
+ | ===[[Файл:+.png]] Эффект подсветки ячейки=== | ||
+ | - Объект, который будет вызываться для эффекта подсветки ячейки при проиграше. Должен иметь состояние beg. | ||
+ | *'''Объект''' - объект. | ||
+ | |||
+ | |||
+ | ===[[Файл:+.png]] Эффект крестобомбы=== | ||
+ | - Объект, который будет использоваться для эффекта взрыва фишек. Должен иметь состояние beg. | ||
+ | *'''Объект''' - объект. | ||
+ | |||
+ | |||
+ | ===[[Файл:+.png]] Графика фишки=== | ||
+ | |||
+ | ''Графика для фишек добавляется в той же последовательности, в какой заданы номера фишек, с учетом бомб'' | ||
*'''Обычная''' - Обычная фишка(type=0). | *'''Обычная''' - Обычная фишка(type=0). | ||
*'''Эффект обычной''' - Объект, который будет использован в качестве эффекта взрыва фишки. Должен иметь состояние beg. | *'''Эффект обычной''' - Объект, который будет использован в качестве эффекта взрыва фишки. Должен иметь состояние beg. | ||
Строка 68: | Строка 205: | ||
*'''Бомба 2 край''' - Объект, который будет использован в качестве эффекта взрыва фишки, если та стала бонусной. Должен иметь состояние beg. | *'''Бомба 2 край''' - Объект, который будет использован в качестве эффекта взрыва фишки, если та стала бонусной. Должен иметь состояние beg. | ||
*'''Бомба 2 прочее''' - Объект, который будет использован в качестве эффекта взрыва фишки, если та стала бонусной. Должен иметь состояние beg. | *'''Бомба 2 прочее''' - Объект, который будет использован в качестве эффекта взрыва фишки, если та стала бонусной. Должен иметь состояние beg. | ||
− | ==Уровень сложности== | + | |
+ | |||
+ | ===[[Файл:+.png]] Уровень сложности=== | ||
+ | |||
+ | ''Настройки уровня сложности будет учитываться при задании номера уровня из поля rules_preset. Если данные параметры будут заданы в файле уровней с другими значениями, то данные настройки игнорируются.'' | ||
+ | *'''Номеров в фишках''' - число типов фишек на поле в данном уровне, включая бомбы. | ||
*'''Минимально ходов''' - Минимальное желаемое количество ходов на старте игры. | *'''Минимально ходов''' - Минимальное желаемое количество ходов на старте игры. | ||
*'''Максимально ходов''' - Максимальное желаемое количество ходов на старте игры. | *'''Максимально ходов''' - Максимальное желаемое количество ходов на старте игры. | ||
Строка 74: | Строка 216: | ||
*'''Коэффициент цветов''' - Коэффициент, который применяется к цветам из предыдущего поля. | *'''Коэффициент цветов''' - Коэффициент, который применяется к цветам из предыдущего поля. | ||
*'''Типов узлов''' - Число разновидностей типов нормальных узлов графа. | *'''Типов узлов''' - Число разновидностей типов нормальных узлов графа. | ||
+ | *'''Бомб на старте''' - число бомб в стартовом раскладе. | ||
+ | *'''Радиус залочки''' - радиус залочки. 0 - все поле залочено (поведение по умолчанию). | ||
+ | |||
+ | |||
+ | |||
+ | =Дополнительные параметры= | ||
+ | |||
+ | *Чтобы задать объекту номер уровня из файла, нужно передать ему параметр '''''levelNum''''' с нужным значением с предыдущего экрана. | ||
+ | |||
+ | *Чтобы задать объекту номер правил из файла, нужно передать объекту Matchbattle, который является слушателем, параметр '''''rules_preset''''' на текущем экране перед началом игры, например: | ||
+ | - <var nm="b" tp="0" obj="97" par="ecomics102.mon1.sl"/> //вычитываем номер уровня монстра из объекта Economics | ||
+ | <set obj="2494" par="rules_preset" val="(b)"/> //задаем этот параметр объекту Matchbattle, | ||
+ | <set obj="2494" st="pause"/> //ставим объект Matchbattle на паузу. | ||
+ | |||
+ | *Для задания режима игры необходимо объекту Matchbattle, который является слушателем, передать параметр '''''mode''''': '''"0"''' - битва, '''"1"''' - блиц, '''"2"''' - стратегия. | ||
+ | |||
+ | *В любой момент игры можно вычитать количество оставшихся неразлоченных ячеек на поле с помощью параметра '''''cells_left'''''. | ||
+ | |||
+ | *Для того, чтобы в файле уровней можно было задать количество цветов необходимо использовать параметр '''''numTokenNums'''''(если не сработает, то в самом объекте этому же параметру установить значение "-1"). | ||
+ | Выглядит это приблизительно вот так: | ||
+ | - <level id="0" cols="8" rows="8" numTokenNums="6"> | ||
+ | |||
+ | *В объекте bejewelled в процессе игры записываются некоторые параметры, которые мы можем вычитывать. Например: | ||
+ | **cells_left - оставшиеся ячейки | ||
+ | **goal_solid - оставшиеся неубиваемые фишки, которые нужно опустить вниз | ||
+ | **goal_num_%d - оставшиеся фишки номера %d для целей по уничтожению фишек определенного цвета | ||
+ | **cells_cleared_percent - процент очищенного поля | ||
+ | |||
+ | *В файле уровней появились дополнительные типы фишек и ячеек, а также "ветер" (направление осыпания) | ||
+ | |||
+ | * - дырка | ||
+ | 4 символа подряд без пробелов | ||
+ | NTKXD | ||
+ | |||
+ | N - номер фишки (цвет). 0 - случайный | ||
+ | Z - спираль. Т.е. фишка, которая ни с чем не матчится, умирает при взрыве рядом | ||
+ | Y - неуничтожимая фишка (умирают на дне, следующая не появляется пока не умрет) | ||
+ | T - тип фишки. 0 - обычная, 1 - обычная бомба, 2 - крестовидная, 3 - горизонтальная, 4 - вертикальная | ||
+ | Z - таймерная бомба. TBD | ||
+ | K - тип ячейки: | ||
+ | 0, 1, 2, ... numNodeTypes - степень покраски | ||
+ | X - функционал ячейки | ||
+ | 0 - обычная | ||
+ | Z - залоченная, содержит фишку, но не может быть выбрана. После взрыва превращается в 0. В коде (numNodeTypes+1) | ||
+ | Y - ячейка-кирпич, не содержит фишки, становится пустой при взрыве рядом. В коде (numNodeTypes+2) | ||
+ | X - ячейка-шоколадка. Как кирпич, но расширяется, если за весь ход не было уничтожено ни одной фишки. В коде | ||
+ | (numNodeTypes+3) | ||
+ | W - неуничтожимая ячейка-шоколадка. Расширяется через ход | ||
+ | V - клумба | ||
+ | |||
+ | D - направление осыпания | ||
+ | нет - по умолчанию | ||
+ | 0 - вверх | ||
+ | 1 - вправо | ||
+ | 2 - вниз | ||
+ | 3 - влево | ||
+ | |||
+ | *Для корректной работы целей в файле уровней их нужно указывать все, даже если этой цели нет на уровне. Например: | ||
+ | <level id="1" cols="8" rows="8" numSolid="10" goalSolid="3" goalCells="0" goalClear="0" goalTokens=""> | ||
+ | Запись означает, что нужно опустить 3 неубиваемые фишки (goalSolid="3"). Остальные цели тоже указаны, но нулевые. | ||
+ | |||
+ | =Хинты= | ||
+ | |||
+ | ''Для задания хинта необходимо задать объекту Matchbattle, который является слушателем, одно из следующих состояний:'' | ||
+ | *''bonusbomb'' - хинт бомба, | ||
+ | *''bonuscross'' - хинт крестобомба, | ||
+ | *''bonuscolor'' - хинт удаление цвета, | ||
+ | *''bonusshuffle'' - хинт перемешивание фишек на поле, | ||
+ | *''bonusturns'' - хинт добавление ходов, число ходов для добавления задается в поле '''бонусы - добавить ходов''' в объекте Matchbattle, | ||
+ | *''bonustime'' - хинт добавление времени, количество секунд для добавления задается в поле '''бонусы - добавить времени''' в объекте Matchbattle. | ||
+ | |||
+ | =Состояния= | ||
+ | |||
+ | *''restart'' - перезапускает игру | ||
+ | |||
+ | =Пример= | ||
+ | S:\!MOBILE\!!!EditorGames\Wiki_sample\bejewelled.zip | ||
+ | |||
+ | [[Category:Game mechanic]] |
Текущая версия на 12:34, 10 июля 2018
Содержание
- 1 Свойства
- 2 Перегруженные правила
- 3 Подкрученное досыпание
- 4 Перегруженные очки
- 5 Перегруженные цели
- 6 Внешний вид
- 7 Времена этапов
- 8 Времена игры
- 9 Хинт при бездействии
- 10 Звуки
- 11 Специальные типы ячеек
- 12 Добавляемые свойства
- 12.1 Изменить состояние объекта - выигрыш
- 12.2 Изменить параметр объекта - выигрыш
- 12.3 Изменить состояние объекта - проигрыш
- 12.4 Изменить параметр объекта - проигрыш
- 12.5 Изменить состояние объекта - бомба
- 12.6 Звук фишки
- 12.7 Эффект
- 12.8 Эффект перекраски ячейки
- 12.9 Эффект подсветки ячейки
- 12.10 Эффект крестобомбы
- 12.11 Графика фишки
- 12.12 Уровень сложности
- 13 Дополнительные параметры
- 14 Хинты
- 15 Состояния
- 16 Пример
Объект Bejewelled дает возможность организовать ряд игр, основанных на 3х "модах".
Все эти механики являются играми на поле, основой которого является регулярная решетка. Игра происходит при помощи фишек, расположенных в ячейках поля.
Свойства
Общие параметры
- Слушатель - Объект типа matchbattle.
- Время партии - Время игры. По окончанию которого будет засчитано поражение.
- Правила - "2" - Bejewelled.
- Файл уровня - файл *.xml - в этом файле прописаны правила для каждого уровня, вид игрового поля, фишки, бомбы, ячейки.
- Номер уровня - номер уровня, который берется по умолчанию из файла выше.
- Перегрузка - если "да", то перегружается часть правил (включаются Перегруженные правила).
- Перегрузка очков - если "да", то очки считаются с заданными в поле Перегруженные очки коэффициентами, иначе через объект Matchbattle.
- Перегрузка целей - если "да", то цель игры можно выбрать в группе Перегруженные цели.
Перегруженные правила
Внимание! Данные правила будут учитываться в игре, если они не заданы с другими параметрами в файле уровней, иначе правила будут вычитаны из *xml
- Типов фишек (numTokenTypes) - Число разновидностей типов фишек. Например, сколько разных камней будет на поле.
- Номеров в фишках - Число номеров в фишках. Включая бомбы: (numTokenTypes+2), нумерация с 0, например "0" - крестобомба, "1" - бомба, "2"... - фишки.
- Номер бомбы - Номер фишки, который соответствует бомбе. Не будет генерироваться сам по себе - хинт.
- Номер крестобомбы - Номер фишки, который соответствует крестобомбе, не будет генерироваться сам по себе - хинт.
- номер неуничтожимой фишки - номера фишек через запятую, которые являются неуничтожимыми для правила "опустить фишку вниз".
- Типов узлов (numNodTypes) - Число разновидностей типов нормальных узлов графа - уровень залочки ячейки, нумерация с 0. Поле Внешний вид - ячейки должно содержать анимацию с этим числом кадров.
- Условия пометки - Условия для вхождения фишек в пометку. 0 - любые фишки, 1 - должен совпадать номер, 2 - должен совпадать цвет, 3 - должен совпадать номер и цвет фишек.
- Монотонность - Должны ли номера в первой пометке быть монотонной последовательностью.
- Мин.пометка - Минимальное число фишек помечаемых в первой пометке.
- Макс.пометка - Максимальное число фишек помечаемых в первой пометке.
- Время пометки - Пометка завершается спустя заданное в этом поле время.
- Переставлять - Фишки первой пометки переставляются.
- Уменьшать - Фишки первой пометки уменьшают свой номер.
- Удалять - Удалять ячейки первой пометки.
- Условие удаления - Условия для удаления фишек: 0 - не удалять, 1 - должен совпадать тип, 2 - должен совпадать номер, 3 - должен совпадать тип ИЛИ номер, 4 - должен совпадать тип И номер.
- Тип удаления - Тип удаления. 0 - заливка, 1 - вертикальные и горизонтальные линии, 2 - только сама пометка.
- Мин.удаление - Минимальное число фишек, которое можно удалить.
- Генерация без мачей - При генерации поля избегать готовых совпадений.
- Проверка после осыпания - После осыпания фишек ещё раз перепроверить возможные комбинации ходов.
- Добавление - Нужно ли добавлять фишки на поле. Или игра на разбор.
- Схлопывание - Нужно ли схлопывание (Ликвидация пустых столбцов).
- Менять тип узла - Увеличить ли тип нормальной ячейки, если над ней произошла трансформация фишек.
- Поддерживать число ходов - При осыпании фишек проверить поле на то, чтоб обязательно был возможный ход.
- Тащить фишку - Тащить первую фишку пометки за пальцем.
- Завершать пометку - Не ждать отпускания пальца для завершения пометки - актуально в тех случаях, когда в ней всегда одинаковое число фишек.
Подкрученное досыпание
Внимание! Данные правила будут учитываться в игре, если они не заданы с другими параметрами в файле уровней, иначе правила будут вычитаны из *xml
- Минимально ходов - минимальное желаемое число ходов на старте игры.
- Максимально ходов - максимальное желаемое число ходов на старте игры.
- Добавить цветов - число цветов, которых будет больше при досыпе.
- Коэффициент цветов - коэффициент, который применяется к числу из поля выше. Чем больше, тем проще уровень.
Перегруженные очки
- За фишку - три числа через запятую, задающие очки за фишку при матч 3,4,5.
- За разлочку - последовательность чисел через запятую, задающая очки за каждую стадию разлочки ячейки.
- За замки - последовательность чисел через запятую, задающая очки за каждую стадию замка на ячейке.
- За шоколад - очки за уничтоженную плитку шоколада.
- За длинные матчи - число, задающее очки за матч 4,5,6...
- За комбо - число, задающее очки за матчи в единицу времени.
- Время комбо - время для поля выше.
- За секунду - коэффициент для очков за оставшееся время в игре на время.
- За ход - коэффициент для очков за оставшиеся ходы в игре на ходы.
Перегруженные цели
Необходимо выбрать одну цель игры
- Очистить поле - Уничтожить соотв. % фишек. Не стоит комбинировать с досыпанием.
- Перекрасить поле - Перекрасить все ячейки поля в базовый тип.
- Уронить статические - Уронить все статические фишки на дно поля.
- Уничтожить фишек - Уничтожить фишек, количество через запятую.
Внешний вид
- Картинка - Графический ресурс картинки паззла (не обязательно).
- Фишки - Не рекомендуется использовать. Заменено на добавляемые параметр, см.ниже Графика фишки
- Ячейки - Графический ресурс ячейки (может быть клипом из нескольких состояний залочки ячейки).
- Курсор - Курсор для выделения фишек (не обязательно).
- Обводка - Клип с границами ячеек, 0-й фрейм - верх, дальше по часовой стрелке (обводит поле) (не обязательно).
- Колонок - Число колонок на которые разбивается пазл.
- Строк - Число строк на которые разбивается пазл.
- Авторазмер - Если 1, то для расчета размера ячеек используется картинка. 0 - размер ячейки = размер паззла / число ячеек
- Сетка? - Если 1, то будет показана сетка при разрезке картинки на блоки. При 0 - сетки не будет.
- Пометка - Прозрачность помеченной ячейки.
- Фон - Прозрачность исходной картинки, рисуемой под паззлом. Если "0" - то не рисуется.
- Таймер - таймер, связанный с игрой.
- Очки - счетчик очков, связанный с игрой. Будет работать, если используются Перегруженные очки
Времена этапов
- Невидимости - пауза перед открытием паззла.
- Открытия - время открытия исходной картинки (появляется по альфа).
- Показа - время показа исходной картинки после появления.
- Перемешивания - время визуализации процесса перемешивания ячеек.
- Финала - время финального показа паззла после его разбора перед закрытием.
- Закрытия - время закрытия паззла (исчезает по альфе).
Времена игры
- Перестановки - время перестановки двух ячеек местами при их выборе.
- Движения - время движения фишек от одного узла к соседнему.
- Движения вверх - время движения фишек от одного узла к соседнему при отскоке.
- Отскока - время движения фишек вверх при отскоке. Т.е. при дефолтных значениях фишка отскакивает на 200 / 600 треть высоты фишки.
- Рождения и удаления - время рождения и удаления фишки.
- Поворота - время поворота ячейки при повторном клике на нее.
- Паузы - время паузы перед началом перестановки или поворота.
- Подсказки 1 - время за которое проявляется исходная картинка в состоянии hint.
- Подсказки 2 - время в течении которого показывается после проявления исходная картинка в состоянии hint.
- Подсказки 3 - время в течении которого закрывается после показа исходная картинка в состоянии hint.
Хинт при бездействии
- Время задержки - время бездействия, после которого следует показывать хинт.
- Машина - машина состояний, которая будет установлена между двумя фишками. Должна иметь состояния show и hide.
Звуки
- Нажатие на фишку - звук нажатия на фишку.
- Перемещение фишки - звук перемещения фищки.
- Возврат фишки - звук возврата фищки при неудачном перемещении.
- Падение фишки - звук для падения фишки.
Специальные типы ячеек
- Залоченная фон - Графика подложки для залоченной ячейки.
- Залоченная нашлепка - Графика нашлепки для залоченной ячейки.
- Недоступная - Графика недоступной ячейки.
- Шоколадка - Графика ячейки-шоколадки
- Размножать шоколадку - Раз во сколько ходов будет размножаться шоколад.
- вечная Шоколадка - Графика ячейкине-убиваемой шоколадки
- Размножать вечную шоколадку - Раз во сколько ходов будет размножаться вечная шоколадка.
- телепорт вход - Графика входа в телепорт
- телепорт выход - графика выхода из телепорта
- заряжать клумбу (фишек) - количество матчей возле клумбы, для ее зарядки
- клумба создает (фишек) - количество фишек определенного цвета которые создает заряженная по-максимуму клумба
Добавляемые свойства
Изменить состояние объекта - выигрыш
- после разбора изменить состояние объекта.
- Объект - объект, состояние которого меняем.
- Состояние - состояние - значение нового состояния.
Изменить параметр объекта - выигрыш
- после разбора изменить параметр объекта.
- Объект - объект, состояние которого меняем.
- Свойство - параметр, который мы изменяем.
- Значение - новое значение параметра.
Изменить состояние объекта - проигрыш
- после окончания времени изменить состояние объекта.
- Объект - объект, состояние которого меняем.
- Состояние - состояние - значение нового состояния.
Изменить параметр объекта - проигрыш
- после окончания времени изменить параметр объекта.
- Объект - объект, состояние которого меняем.
- Свойство - параметр, который мы изменяем.
- Значение - новое значение параметра.
Изменить состояние объекта - бомба
- изменить состояние объекта после успешной установки бомбы.
- Объект - объект, состояние которого меняем.
- Состояние - состояние - значение нового состояния.
Звук фишки
- переопределяет звук для фишки с определенным номером. Номера придется отсчитывать руками: подключаются по порядку в соответствии с Графикой фишки. Нумерация с 0, т.е. если номер бомбы =0, крестобомбы =1, то первое добавленное свойство будет для бомбы, второе для крестобомбы, далее - для фишек.
- Удаление - звук удаления фишки.
- Появление - звук появления фишки.
Эффект
- Объект, который будет вызываться при взрыве фишек. Должен иметь состояние beg.
- Объект - объект.
Эффект перекраски ячейки
- Объект, который будет вызываться для эффекта перекраски ячейки. Должен иметь состояние beg.
- Объект - объект.
Эффект подсветки ячейки
- Объект, который будет вызываться для эффекта подсветки ячейки при проиграше. Должен иметь состояние beg.
- Объект - объект.
Эффект крестобомбы
- Объект, который будет использоваться для эффекта взрыва фишек. Должен иметь состояние beg.
- Объект - объект.
Графика фишки
Графика для фишек добавляется в той же последовательности, в какой заданы номера фишек, с учетом бомб
- Обычная - Обычная фишка(type=0).
- Эффект обычной - Объект, который будет использован в качестве эффекта взрыва фишки. Должен иметь состояние beg.
- Бомба 2 центр - Объект, который будет использован в качестве эффекта взрыва фишки, если та стала бонусной. Должен иметь состояние beg.
- Бомба 2 край - Объект, который будет использован в качестве эффекта взрыва фишки, если та стала бонусной. Должен иметь состояние beg.
- Бомба 2 прочее - Объект, который будет использован в качестве эффекта взрыва фишки, если та стала бонусной. Должен иметь состояние beg.
Уровень сложности
Настройки уровня сложности будет учитываться при задании номера уровня из поля rules_preset. Если данные параметры будут заданы в файле уровней с другими значениями, то данные настройки игнорируются.
- Номеров в фишках - число типов фишек на поле в данном уровне, включая бомбы.
- Минимально ходов - Минимальное желаемое количество ходов на старте игры.
- Максимально ходов - Максимальное желаемое количество ходов на старте игры.
- Добавить цветов - Число цветов, которых будет больше.
- Коэффициент цветов - Коэффициент, который применяется к цветам из предыдущего поля.
- Типов узлов - Число разновидностей типов нормальных узлов графа.
- Бомб на старте - число бомб в стартовом раскладе.
- Радиус залочки - радиус залочки. 0 - все поле залочено (поведение по умолчанию).
Дополнительные параметры
- Чтобы задать объекту номер уровня из файла, нужно передать ему параметр levelNum с нужным значением с предыдущего экрана.
- Чтобы задать объекту номер правил из файла, нужно передать объекту Matchbattle, который является слушателем, параметр rules_preset на текущем экране перед началом игры, например:
- //вычитываем номер уровня монстра из объекта Economics <set obj="2494" par="rules_preset" val="(b)"/> //задаем этот параметр объекту Matchbattle, <set obj="2494" st="pause"/> //ставим объект Matchbattle на паузу.
- Для задания режима игры необходимо объекту Matchbattle, который является слушателем, передать параметр mode: "0" - битва, "1" - блиц, "2" - стратегия.
- В любой момент игры можно вычитать количество оставшихся неразлоченных ячеек на поле с помощью параметра cells_left.
- Для того, чтобы в файле уровней можно было задать количество цветов необходимо использовать параметр numTokenNums(если не сработает, то в самом объекте этому же параметру установить значение "-1").
Выглядит это приблизительно вот так:
- <level id="0" cols="8" rows="8" numTokenNums="6">
- В объекте bejewelled в процессе игры записываются некоторые параметры, которые мы можем вычитывать. Например:
- cells_left - оставшиеся ячейки
- goal_solid - оставшиеся неубиваемые фишки, которые нужно опустить вниз
- goal_num_%d - оставшиеся фишки номера %d для целей по уничтожению фишек определенного цвета
- cells_cleared_percent - процент очищенного поля
- В файле уровней появились дополнительные типы фишек и ячеек, а также "ветер" (направление осыпания)
* - дырка 4 символа подряд без пробелов NTKXD N - номер фишки (цвет). 0 - случайный Z - спираль. Т.е. фишка, которая ни с чем не матчится, умирает при взрыве рядом Y - неуничтожимая фишка (умирают на дне, следующая не появляется пока не умрет) T - тип фишки. 0 - обычная, 1 - обычная бомба, 2 - крестовидная, 3 - горизонтальная, 4 - вертикальная Z - таймерная бомба. TBD K - тип ячейки: 0, 1, 2, ... numNodeTypes - степень покраски X - функционал ячейки 0 - обычная Z - залоченная, содержит фишку, но не может быть выбрана. После взрыва превращается в 0. В коде (numNodeTypes+1) Y - ячейка-кирпич, не содержит фишки, становится пустой при взрыве рядом. В коде (numNodeTypes+2) X - ячейка-шоколадка. Как кирпич, но расширяется, если за весь ход не было уничтожено ни одной фишки. В коде (numNodeTypes+3) W - неуничтожимая ячейка-шоколадка. Расширяется через ход V - клумба D - направление осыпания нет - по умолчанию 0 - вверх 1 - вправо 2 - вниз 3 - влево
- Для корректной работы целей в файле уровней их нужно указывать все, даже если этой цели нет на уровне. Например:
<level id="1" cols="8" rows="8" numSolid="10" goalSolid="3" goalCells="0" goalClear="0" goalTokens="">
Запись означает, что нужно опустить 3 неубиваемые фишки (goalSolid="3"). Остальные цели тоже указаны, но нулевые.
Хинты
Для задания хинта необходимо задать объекту Matchbattle, который является слушателем, одно из следующих состояний:
- bonusbomb - хинт бомба,
- bonuscross - хинт крестобомба,
- bonuscolor - хинт удаление цвета,
- bonusshuffle - хинт перемешивание фишек на поле,
- bonusturns - хинт добавление ходов, число ходов для добавления задается в поле бонусы - добавить ходов в объекте Matchbattle,
- bonustime - хинт добавление времени, количество секунд для добавления задается в поле бонусы - добавить времени в объекте Matchbattle.
Состояния
- restart - перезапускает игру
Пример
S:\!MOBILE\!!!EditorGames\Wiki_sample\bejewelled.zip