![]() |
![]() |
![]() |
![]() |
Игра представляет собой головоломку. По сути, это несколько упрощенная версия небезызвестной игры Quadrax, которая одно время считалась лучшей логической игрой в Чехословакии. Более известной игрой с похожей идеей является Lost Vikings. Поскольку основной сюжет взят из Quadrax, эта игра не может претендовать на уникальное название, но и Quadrax-ом тоже называться не может, поскольку до него во многом не дотягивает.
Одним из главных отличий zwadrax от предшественника является в два раза более крупная дискретная единица карты. Если по-простому, в Quadrax ширине одного камня соответствовало два шага героя. При этом были и другие элементы, шириной в один шаг. В данной игре ширина всех элементов одинакова, что, конечно же, сужает потенциал, но имеет и свою положительную сторону. А именно простое, удобное и наглядное создание новых уровней к игре в виде текстовых файлов, о чем сказано ниже.
Смысл прохождения каждого уровня игры заключается в достижении двумя героями выхода (двери). Для достижения выхода оба героя должны перемещаться по карте, производить какие-либо действия и так или иначе помогать друг другу. Герои равноправны. На карте могут размещаться различные элементы, такие как:
Управление игрой осуществляется шестью ключами: перемещение влево-вправо-вверх-вниз, переключение между героями и включение рычага.
Действие | PocketBook 360° | PocketBook 301+ | PocketBook 302 | PocketBook 602 Pro, PocketBook 902 Pro | PocketBook 603 Pro, PocketBook 903 Pro |
---|---|---|---|---|---|
перемещение героя | LEFT, RIGHT, UP, DOWN | LEFT, RIGHT, UP, DOWN | PREV, NEXT, PREV2, NEXT2, тачскрин | LEFT, RIGHT, UP, DOWN | LEFT, RIGHT, UP, DOWN, тачскрин |
переключение между героями | OK | OK | длинная NEXT, тачскрин | OK | OK, тачскрин |
активация переключателя | длинная OK | длинная OK | длинная PREV, тачскрин | длинная OK | длинная OK, тачскрин |
Герой может перемещаться вправо-влево, может перемещаться вниз и вверх по лестнице, также может перемещаться в любом из этих направлений через клапан. Герой может взобраться на ступеньку, для чего требуется последовательное нажатие вверх - в сторону. На две ступеньки герой взобраться не может. Смерть героя наступает, если совершено:
Установка программы на PocketBook предполагает копирование файла приложения zwadrax.app в директорию /mnt/ext1/games (папку games в корне внутренней памяти устройства). Также требуется скопировать папку данных программы по одному из следующих путей:
Интерфейсом программы, помимо ключей управления игрой, предусмотрены:
Действие | PocketBook 360° | PocketBook 301+ | PocketBook 302 | PocketBook 602 Pro, PocketBook 902 Pro | PocketBook 603 Pro, PocketBook 903 Pro |
---|---|---|---|---|---|
вызов меню 3x3 для сдвига или поворота карты | длинная UP, PREV | длинная UP, DELETE | длинная PREV2, тачскрин | длинная UP, PREV | длинная UP, PREV, тачскрин |
вызов главного меню программы | длинная DOWN, NEXT | длинная DOWN, BACK | BACK, тачскрин | длинная DOWN, NEXT | длинная DOWN, NEXT, тачскрин |
выход из программы | длинная NEXT | длинная DELETE | длинная NEXT2 | длинная NEXT | длинная NEXT |
ручной сдвиг карты | - | - | перетаскивание стилусом в области карты | - | перетаскивание стилусом в области карты |
установка позиции окна карты | - | - | клик стилусом в области позиции окна | - | клик стилусом в области позиции окна |
Следует иметь в виду, что длинная BACK не приводит к корректному выходу из программы, а заставляет систему принудительно ее завершить без выполнения ею финальных действий. В частности, в данной программе подобное завершение означает отсутствие сохранения состояния на выходе. Для корректного завершения программы следует использовать соотвествующий пункт главного меню или указанный выше горячий ключ (длинное нажатие DELETE, NEXT или NEXT2).
В главном меню программы доступны следующие пункты:
Пункт меню | Действие |
---|---|
next level | переход к следующему непройденному уровню из текущего набора уровней |
restart | повторный запуск текущего уровня |
level load | загрузка другого уровня из текущего набора уровней |
level edit | переход в режим редактирования текущего уровня |
level save as | сохранение редактируемого уровня с новым именем |
solution load | загрузка последовательности действий, сохраненной ранее для текущего уровня |
solution save as | сохранение последовательности действий, совершенной пользователем в текущей игре |
level set | выбор другого набора уровней |
exit | выход из приложения |
Пользователь, пройдя уровень до конца, может сохранить последовательность ввода, чтобы потом ее можно было загрузить и "проиграть". Такой подход задуман для того, чтобы пользователи могли создавать друг другу головоломки, обмениваться ими и "подтверждать" факт прохождения. Также это возможно для сохранения текущего положения игры просто с тем, чтобы продолжить ее прохождение позже.
Нижняя панель отображает подсказку по ключам и статус игры. Центральное поле в нижней панели показывает статус окна отображения карты игры. В нем не соблюдены пропорции сторон карты между собой, но соблюдены пропорции окна отображения относительно карты.
Карта игры потенциально может быть больше экрана. Чтобы сдвигать отображаемое в текущий момент "окно", предусмотрено меню 3x3, для моделей с тачскрином возможны также соответствующие действия стилусом.
Каждый уровень игры представлен текстовым файлом *.zwl (zwadrax level):
<levelname>.zwl
К каждому уровню пользователь может сохранить произвольное количество solution-ов (последовательностей ходов) с целью последующего воспроизведения. Каждая такая последовательность хранится в файле *.zws (zwadrax solution) с именем следующей структуры:
<levelname>.<solutionname>.zws
Все уровни в игре рассортированы по наборам. Предусмотрен один основной набор уровней (root), также возможно произвольное количество дополнительных (from masha, from dasha, etc). Уровни набора root хранятся непосредственно в директории данных (к, примеру, /mnt/ext1/system/share/zwadrax). Уровни других наборов, если таковые будут, хранятся в поддиректориях с соответствующими именами.
Набор уровней root комплектуется несколькими несложными уровнями. Начальные уровни совсем простые, это не должно пугать - они ознакомительные. Последние уровни отдаленно иллюстрируют то, какой сложной игра потенциально может быть. Следует иметь в виду, что размеры экрана не вносят ограничений на размеры карты уровня.
Как было уже сказано выше, каждый уровень представляется текстовым файлом. Внутренняя структура такого файла наглядна и проста. В частности, первый уровень основного набора описывается следующим набором строк:
area-height=10 area-width=12 line-00=############ line-01=############ line-02=# b# line-03=# ## line-04=# ## ### line-05=#x ######## line-06=### #### line-07=##### a#### line-08=############ line-09=############
Формат предполагает использование в карте следующих символов:
Символ | Объект |
---|---|
# | глухая стена |
| | лестница |
* | обычный камень |
0 | аннигилирующий камень |
< | клапан влево |
> | клапан вправо |
^ | клапан вверх |
_ | клапан вниз |
= | сведенный мост |
" | разведенный мост |
! | телепорт |
$ | лифт |
\ | переключатель в левом положении |
/ | переключатель в правом положении |
a | герой Alice, должен быть только один |
b | герой Bob, должен быть только один |
x | дверь (выход с уровня) |
любой другой символ, включая пробел | пусто |
Отдельно следует оговорить использование переключателей. Оба возможных переключателя в начальной карте уровня (в правом и левом положении) равноправны и отличаются лишь визуально. Привязки переключателей представляются отдельными строками в одной из двух форм:
switch-I1-J1=I2-J2 switch-I1-J1=I2-J2|I3-J3
В этом примере Ix, Jx - двузначные целые числа, характеризующие координаты соответствующих ячеек по вертикали и горизонтали соответственно. Каждый переключатель карты с координатами (I1,J1) должен иметь свою привязку в виде строки в указанном формате.
Первая форма относится к объектам, меняющимся "на месте", а именно мостам и клапанам. Координаты такого объекта указываются в качестве (I2,J2). При срабатывании состояние объекта меняется на противоположное.
Вторая форма привязки относится к транспортным объектам, а именно лифтам и телепортам. Таким образом, координата (I2,J2) в момент срабатывания должна содержать лифт или телепорт, тогда как координата (I3,J3) указывает, куда этот лифт поедет, или куда телепорт переместит помещенный в него объект. Лифт ездит только по вертикали, соответственно, J2 и J3 должны в его случае совпадать. Если на пути встречается препятствие, мещающее лифту проследовать до координаты назначения, он возвращается.
Ниже приведен пример описания простого уровня. Первая привязка относится к переключателю в левом положении (ближайшему к герою Alice) и указывает на клапан, мешающий герою Bob пройти влево к выходу. Вторая привязка относится к следующему переключателю (в правом положении) и указывает на лифт, который должен опуститься на одну ячейку, давая пройти к выходу герою Alice.
area-height=2 area-width=8 line-00=a\/$ x>b line-01=### #### switch-00-01=00-06 switch-00-02=00-03|01-03
Режим создания уровней в текстовом редакторе позиционируется как основной, однако дополнительно программой также предумотрен режим визуального редактирования уровней.
Для редактирования любого загруженного в текущий момент уровня требуется выбрать соответствующий пункт меню. В режиме редактирования кнопки перемещения задают текущую редактируемую ячейку, короткое нажатие OK меняет ее содержимое. Последовательность из трех длинных нажатий OK создает привязку. Первая ячейка в этой последовательности задает привязываемый переключатель, вторая и третья - объект и пункт назначения. Если привязка осуществляется к мосту или клапану, третья ячейка должна совпадать со второй (два длинных OK на одной ячейке).
Для создания нового уровня следует выбрать один из существующих, отредактировать по своему усмотрению и сохранить под новым именем. Для выбора конкретных размеров игрового поля следует иметь различные "пустые" заготовки с соответствующими размерами.
Как известно, ошибки имеют навязчивую тенденцию существовать всегда. С удовольствием исправлю, когда о них узнаю:
ilyh ${dog} inbox ${dot} ru