Unblock — различия между версиями
Vefimov (обсуждение | вклад) (→Пример) |
Vefimov (обсуждение | вклад) |
||
Строка 7: | Строка 7: | ||
[[Файл:Unb1.png|thumb|right]] | [[Файл:Unb1.png|thumb|right]] | ||
− | * ''файл уровня'' - файл с описанием уровней. | + | * '''''файл уровня''''' - файл с описанием уровней. |
− | * ''номер уровня'' - номер текущего уровня. | + | * '''''номер уровня''''' - номер текущего уровня. |
− | * ''скорость доводки'' - скорость доводки блоков пикс/сек. | + | * '''''скорость доводки''''' - скорость доводки блоков пикс/сек. |
* '''счетчики''' | * '''счетчики''' | ||
− | ** ''ходы'' - счетчик оставшихся ходов. | + | ** '''''ходы''''' - счетчик оставшихся ходов. |
− | ** ''время'' - счетчик оставшегося времени. | + | ** '''''время''''' - счетчик оставшегося времени. |
* '''звуки''' | * '''звуки''' | ||
− | ** ''начало движения'' - звук, который воспроизводится в начале движения блока. | + | ** '''''начало движения''''' - звук, который воспроизводится в начале движения блока. |
− | ** ''конец движения'' - звук, который воспроизводится в конце движения блока. | + | ** '''''конец движения''''' - звук, который воспроизводится в конце движения блока. |
=='''Дополнительные параметры'''== | =='''Дополнительные параметры'''== | ||
[[Файл:Unb2.jpg|330px|left]] | [[Файл:Unb2.jpg|330px|left]] | ||
* '''графика блока''' - ресурс, используемый для отрисовки игрового блока. Номер в списке соответствует номеру блока в файле уровней(в 1 свойстве указывается главный блок который нужно довести к выходу, 2 свойство - 2 блок и т.д.) | * '''графика блока''' - ресурс, используемый для отрисовки игрового блока. Номер в списке соответствует номеру блока в файле уровней(в 1 свойстве указывается главный блок который нужно довести к выходу, 2 свойство - 2 блок и т.д.) | ||
− | ** ''клип'' - клип блока, пивот должен быть в центре левой/верхней клетки, перетаскивается из редактора ресурсов. | + | ** '''''клип''''' - клип блока, пивот должен быть в центре левой/верхней клетки, перетаскивается из редактора ресурсов. |
− | ** ''размер'' - размер блока в игровых клетках. | + | ** '''''размер''''' - размер блока в игровых клетках. |
* '''изменить состояние объекта - победа''' - обработчик победы | * '''изменить состояние объекта - победа''' - обработчик победы | ||
− | ** ''объект'' - объект, состояние которого меняем. | + | ** '''''объект''''' - объект, состояние которого меняем. |
− | ** ''состояние'' - новое состояние для объекта из предыдущего поля. | + | ** '''''состояние''''' - новое состояние для объекта из предыдущего поля. |
* '''изменить состояние объекта - поражение''' - обработчик поражения | * '''изменить состояние объекта - поражение''' - обработчик поражения | ||
− | ** ''объект'' - объект, состояние которого меняем. | + | ** '''''объект''''' - объект, состояние которого меняем. |
− | ** ''состояние'' - новое состояние для объекта из предыдущего поля. | + | ** '''''состояние''''' - новое состояние для объекта из предыдущего поля. |
* '''изменить состояние объекта - ход''' - обработчик нужен для активации кнопки "откатить" | * '''изменить состояние объекта - ход''' - обработчик нужен для активации кнопки "откатить" | ||
− | ** ''объект'' - объект, состояние которого меняем. | + | ** '''''объект''''' - объект, состояние которого меняем. |
− | ** ''состояние'' - новое состояние для объекта из предыдущего поля. | + | ** '''''состояние''''' - новое состояние для объекта из предыдущего поля. |
=='''Состояния'''== | =='''Состояния'''== | ||
Строка 79: | Строка 79: | ||
Номера блоков соответствуют порядку указания дополнительных свойств "графика блока" | Номера блоков соответствуют порядку указания дополнительных свойств "графика блока" | ||
В точке, в которой указано число, находится крайняя левая/верхняя ячейка блока. | В точке, в которой указано число, находится крайняя левая/верхняя ячейка блока. | ||
− | Если число указано с знаком “-”, то блок | + | Если число указано с знаком “-”, то блок на поле размещается вертикально. |
<answer> - решение от первого до последнего хода в виде набора чисел через запятую. Числа сгруппированы по 4: x1, y1, x2, y2. | <answer> - решение от первого до последнего хода в виде набора чисел через запятую. Числа сгруппированы по 4: x1, y1, x2, y2. |
Версия 12:22, 8 февраля 2016
Unblock - объект редактора, который реализует игровую механику "unblock" - передвигая игровые блоки, нужно вывести главный блок к выходу.
Основные свойства
- файл уровня - файл с описанием уровней.
- номер уровня - номер текущего уровня.
- скорость доводки - скорость доводки блоков пикс/сек.
- счетчики
- ходы - счетчик оставшихся ходов.
- время - счетчик оставшегося времени.
- звуки
- начало движения - звук, который воспроизводится в начале движения блока.
- конец движения - звук, который воспроизводится в конце движения блока.
Дополнительные параметры
- графика блока - ресурс, используемый для отрисовки игрового блока. Номер в списке соответствует номеру блока в файле уровней(в 1 свойстве указывается главный блок который нужно довести к выходу, 2 свойство - 2 блок и т.д.)
- клип - клип блока, пивот должен быть в центре левой/верхней клетки, перетаскивается из редактора ресурсов.
- размер - размер блока в игровых клетках.
- изменить состояние объекта - победа - обработчик победы
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
- изменить состояние объекта - поражение - обработчик поражения
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
- изменить состояние объекта - ход - обработчик нужен для активации кнопки "откатить"
- объект - объект, состояние которого меняем.
- состояние - новое состояние для объекта из предыдущего поля.
Состояния
- add_time - добавить время, перед передачей состояния, установить объекту в param значение, сколько времени добавляем; можно указывать отрицательное значение - уменьшим оставшееся время.
- add_turns - добавить ходов, перед передачей состояния, установить объекту в param значение, сколько ходов добавляем; можно указывать отрицательное значение - уменьшим оставшееся количество ходов.
- hint - показать следующий шаг из решения; в файле уровней должно быть указано решение.
- reset - сбросить уровень - начать игру заново.
- undo - отменить последний ход; возможность сделать откат должна появляться после сделанного хода (см. изменить состояние объекта - ход)
Файл уровней
<?xml version="1.0" encoding="UTF-8"?> <levels> <level id="0" w="6" h="6" exit_x="5" exit_y="2" turns="20" time="120" final_shift="40" final_vx="5"> <field val="0,0,3,0,0,-3, 0,0,-2,0,0,0, 1,0,0,-2,-2,0, 2,0,0,0,0,0, -2,0,0,0,0,0, 0,2,0,3,0,0"/> <answer val="0,3,1,3,0,4,0,3,1,5,0,5,3,5,2,5,5,0,5,3,2,0,3,0,2,1,2,0,3,2,3,3,4,2,4,3,0,2,4,2"/> </level> </levels>
- id - номер уровня.
- w - количество столбцов поля.
- h - количество строк поля.
- exit_x - координата x (отсчет от правого верхнего угла) ячейки-выхода.
- exit_y - координата y (отсчет от правого верхнего угла) ячейки-выхода.
- turns - количество ходов на прохождение уровня; если указано "0" - ходы не считаются.
- time - время на прохождение уровня; если указано "0" - игра без учета времени.
- final_shift - расстояние, которое нужно проехать при анимировании победы.
- final_vx - скорость по x.
- final_vy - скорость по y.
- field val - описание начальной конфигурации поля.
- answer val - решение уровня.
<field> - описание начального состояния поля, где: 0 - пустая ячейка 1- главный блок, который нужно поместить на ячейку-выход 2 - блок, занимающий 2 ячейки 3 - блок, занимающий 3 ячейки. Номера блоков соответствуют порядку указания дополнительных свойств "графика блока" В точке, в которой указано число, находится крайняя левая/верхняя ячейка блока. Если число указано с знаком “-”, то блок на поле размещается вертикально.
<answer> - решение от первого до последнего хода в виде набора чисел через запятую. Числа сгруппированы по 4: x1, y1, x2, y2. Где x1,y1 - координаты левой/верхней клетки блока который нужно подвинуть на текущем ходу решения, x2, y2 - координаты где эта клетка должна оказаться после хода. Если указано непустое, но невалидное решение, вьювер при попытке сыграть уровень покажет сообщение об ошибке.
Пример
S:\!MOBILE\!!!EditorGames\Wiki_sample
test_unblockme.zip