 |
Установщик - адаптированный вариант известной игры Sokoban (Кладовщик).
Её целью является расстановка ящиков на указанные места в помещении сложной конфигурации.
|
 |
Смысл подобной деятельности непонятен, поскольку требуемая конечная расстановка ящиков на складе, как правило, не отличается оптимальностью, исходная расстановка является максимально неудобной,
а большая часть помещений изобилует как будто специально созданными препятствиями.
Очевидно, что необходимость использования такого рода лабиринтов в качестве склада может быть вызвана лишь заоблачной ценой недвижимости
в условиях тотальной нехватки жизненного пространства и массовых спекуляций земельными участками.
|
 |
Как и следовало ожидать, оригинальный вариант игры был выпущен в Японии в 1982 году компанией Thinking Rabbit, автором идеи является Хироюки Имабаяси.
|
Недостатки аналогичных игр для ПК и ИП
 |
В классическом варианте игры передвижение ящика возможно только путём толкания вперед перед собой - одним грузчиком, без помощи каких-либо средств механизации и даже подручных инструментов,
что лишний раз заставляет задуматься о тяжёлом положении нещадно эксплуатируемых наёмных работников в капиталистической Японии и других странах, которые разрабатывают и поддерживают такие программы.
Следует также отметить, что во многих вариантах игр имеется противоречащая современной науке и чреватая возникновением временных парадоксов возможность возврата на один шаг.
|
 |
Пёстрое оформление большинства игр для персональных компьютеров и игровых приставок утомляет зрение и мешает полностью сосредоточиться на выполнении задания.
Неконтролируемо изменяющийся масштаб изображения каждого отдельного помещения снижает эффективность вследствие необходимости адаптации.
Дополнительным отвлекающим фактором является звуковое сопровождение.
|
Особенности игры для ЭКВМ
 |
Игра имеет простой и логичный сценарий: в рамках проводимой операции установщик обязан в каждом помещении расставить ранее занесённые объекты на предварительно рассчитанные и отмеченные позиции.
После чего подать рапорт об окончании работы - в целях своевременной эвакуации и переброски на следующий объект. Подвальное помещение имеет сложную конфигурацию из-за большого количества коммуникаций и подсобных помещений,
а определяемая планом оперативность загрузки объектов не позволяет сразу установить их на нужные позиции.
|
При этом установщик оснащён всем необходимым оборудованием для эффективного выполнения заданий:
- Он имеет специальный инструмент, который позволяет тянуть объект за собой.
- Применение стимуляторов даёт возможность толкать сразу два объекта.
- Установщик экипирован ручным транклюкатором при помощи которого может устранять препятствия в виде стен, перегородок и окружающего грунта.
- Если из-за возможности преждевременного обрушения транклюкация нежелательна, устройство перемещения в режиме трансгрессии позволяет незаметно передвигаться по помещению игнорируя препятствия. При этом установщик не может перемещать материальные объекты.
 |
Для проведения тренировок возможно моделировать пустой склад.
|
 |
Либо напротив, помещение полностью залитое бетоном.
|
Чёткая и выразительная графика не содержит излишних деталей.
Масштаб и цвета изображения не изменяются в зависимости от выбранного помещения.
Звуковое сопровождение отсутствует.
Успешное выполнение очередного задания вызывает импульс продолжительностью 500 мс в линии канала 1 присоединённого внешнего устройства (ВУ), неуспешное - канала 2 ВУ, частичное - обоих каналов одновременно.
Возможность обеспечения обратной связи с оператором в целях положительного или отрицательного подкрепления существенно расширяет потенциал ЭКВМ в качестве игровой платформы.
Загрузка игры в память ЭКВМ
Файл типа "P" (программа) загружается в память ЭКВМ с диска или через последовательный порт.
 |
Перед началом игры в текстовую область памяти ЭКВМ желательно загрузить файл типа "T" специального формата, содержащий задание на установку объектов в пяти помещениях.
Это можно сделать одновременно с загрузкой программы выбрав вариант загрузки пакета.
Текстовый файл может отсутствовать, в этом случае текущее задание можно загрузить с диска или создать из меню игры случайным образом.
|
 |
Для возможности последующего выбора задания из списка заранее подготовленных в головном каталоге внутреннего или внешнего диска следует создать каталог SOK.
|
 |
В этом каталоге должны находится файлы типа "Т" (текстовые данные) указанного формата с именами от "00" до "60" - в любом порядке и количестве.
|
Главное меню
 |
Главное меню выводится на экран после запуска игры командами "В/О" и "С/П". Оно состоит из пунктов "Задание", "Продолжить", "Инструкции" и "Выход". Выбор производится клавишами "ВЫБОР" (стрелками), подтверждение - клавишей "ВВОД".
|
"Задание" - выбор очередного помещение из ранее загруженных, смена либо генерация текущего задания.
"Продолжить" - выполнение текущего задания с того момента, на котором программа была остановлена в предыдущий раз.
"Инструкции" - краткие сведения о назначении программы, номере версии и способах управления.
"Выход" - используется для корректного завершения работы программы.
Инструкции
Вход в режим выполняется из главного меню программы. Переключение между экранами инструкций - нажатием клавиши "ВВОД". Возврат в главное меню - клавишей "ВЫХОД".
 |
Целью каждого задания является установка объектов на отмеченные позиции в пяти различных помещениях.
Объекты в них загружены предварительно.
|
 |
Установка проводится в пределах одного помещения. Она может быть в произвольный момент прервана или продолжена (при наличии данных в памяти).
После установки объектов следует подать рапорт.
|
 |
Для достижения результата установщик может тянуть или толкать один или два объекта, а также использовать дополнительные возможности: трансгрессию и транклюкацию. Вход в режим - клавишей "ВВОД".
|
Выбор задания
Пункт "Задание" главного меню следует выбрать при первом запуске программы, а также при необходимости изменения текущего задания или помещения.
 |
При наличии в памяти загруженного текстового файла с заданиями будет выведен список помещений в которых требуется выполнить установку.
В верхней строке выводится наименование задания, далее список из которого следует выбрать нужное.
|
 |
Нажатием клавиши "ВВОД" выполняется заброска установщика на начальную позицию в выбранное помещение.
|
 |
При отсутствии текстового файла требуемого формата в памяти ЭКВМ сразу предлагается получить следующее задание.
|
 |
Для получения очередного задания можно загрузить существующий файл с внутреннего или внешнего диска либо создать новое.
|
 |
Для загрузки с внутреннего или внешнего диска требуется войти в пункт ввода номера файла.
|
 |
Ввести номер от 0 до 60.
|
 |
И подтвердить загрузку выбором пункта "Принять".
|
 |
Аналогичные действия выполняются при загрузке файла с внешнего диска. При этом устройство УЗВМК должно быть предварительно подключено к ЭКВМ.
|
 |
При успешной загрузке программа выходит в экран режима "Задание".
|
 |
При возникновении ошибки во время загрузки программа выводит её номер.
Ошибки ДОС с номерами от 1 до 8 перечислены в документе НПКД.401348.001 Д1 часть 3.
Ошибка 9 означает отсутствие подкатолога SOK в главном каталоге выбранного диска.
|
 |
Ошибка 10 - отсутствие файла с введённым номером в катологе SOK.
Нажатие клавиш "ВЫХОД" или "ВВОД" возвращает программу в главное меню.
|
Новое задание
Режим "Новое задание" позволяет создать набор помещений, генерируемых случайным образом.
 |
Для этого следует установить значения параметров:
- "Код" - инициализирует генератор случайных чисел ЭВМ, что позволяет получать воспроизводимые результаты при каждом запуске (в пределах базовой платформы).
- "Стены" - определяет плотность заполнения помещений препятствиями - от 0 (перегородки отсутствуют) до 10 (сплошная заливка).
- "Объекты" - задаёт количество объектов для установки и позиций для них - от 0 до 100 шт.
|
 |
После выбора пункта "Принять" программа переходит в режим "Задание".
|
 |
Особенностью создаваемых помещений является прямоугольная планировка 20x30 с внешними капитальными стенами и внутренними перегородками.
Но даже в пустом помещении (параметр "стены" равен нулю) не обязательно все объекты могут быть установлены на позиции без использования дополнительных возможностей.
|
 |
Новое задание может быть сохранено путём записи текстового файла на внутренний или внешний диск после выхода из программы.
|
Установка объектов в помещении
После выбора пункта "Продолжить" главного меню или выбора помещения в текущем задании установщик незамедлительно приступает к его выполнению.
 |
При отсутствии необходимой информации в области двоичных данных ЭВМ (к примеру, при первом запуске программы) выполнение задания невозможно.
Возврат в главное меню - нажатием клавиши "ВВОД" или "ВЫХОД".
|
 |
Для выполнения задания установщику следует перемещать объекты на отмеченные позиции.
Перемещение выполняется клавишами "ВЫБОР" (стрелками).
При получении очередного задания установщик может толкать перед собой один объект.
|
 |
Границы карты 8x16 относительно помещения автоматически изменяются в зависимости от перемещений установщика.
|
 |
Переключение вида карты 8x16 или 20x30 производится клавишей "↔".
|
 |
На карте 20x30 выводится дополнительная информация:
- наименование помещения;
- режим перемещения и использование дополнительных возможностей;
- текущий шаг установщика (с момента начала выполнения задания).
|
 |
"ТЛК" - установщик толкает объект, "ТЯН" - может тянуть его за собой.
Переключение выполняется клавишей "/-/" (изменение знака числа).
|
 |
"ТЛК2" - установщик может толкать перед собой два объекта.
Переключение клавишей "ВП".
|
 |
"ТРКЛ" - применение ручного транклюкатора.
Переключение клавишей "," (запятая).
|
 |
При помощи транклюкатора установщик может устранять препятствия на своём пути.
|
 |
В случае транклюкирования внешних границ помещения возникает ошибка. Выполнение задания прекращается.
|
 |
"ТРГР" - трансгрессия.
При использовании устройства перемещения установщик становится невидимым до его отключения. Возможность передвижения сохраняется, перемещение объектов и транклюкация невозможны.
Переключение клавишей "Cx".
|
 |
При материализации в пределах твёрдого тела, в том числе в местах текущего размещения объектов, возникает ошибка. Выполнение задания прекращается.
|
 |
Установщик может инициировать перезагрузку - повторное выполнение задания с начальной расстановки в помещении.
Запрос на перезагрузку клавишей "0" (ноль).
|
 |
Выбор пункта "Продолжить выполнение" отменяет перезагрузку.
Выбор "Загрузить помещение" вызывает немедленный переход к повторному выполнению задания.
|
 |
Для переключения режимов перемещения и использования дополнительных возможностей установщик кроме вышеперечисленных клавиш может использовать отдельное меню.
Вход в него выполняется клавишей "ВВОД", продолжение выполнения задания - клавишей "ВЫХОД".
|
 |
При выборе пункта "Справка" выводится назначение клавиш. Выход из справки обратно в меню клавишами "ВВОД" или "ВЫХОД".
|
Для окончания выполнения задания в текущем помещении установщик должен послать рапорт.
Для этого следует нажать клавишу "B↑" или выбрать соответствующий пункт меню.
Рапорт
 |
В связи с возможностью возникновения непредвиденных ситуаций установщик может подать рапорт об окончании работы в помещении независимо от степени выполнения задания.
Для этого используется клавиша "B↑" или выбор нужного пункта меню.
|
 |
Рапорт содержит данные о наименовании задания и помещения, проценте выполнения и общем количестве установленных объектов из ранее загруженых,
количестве перемещений, а также об использовании дополнительных возможностей в процессе выполнения.
|
 |
Если в помещении установлены не все объекты, то задание считается выполненым частично.
|
 |
При этом после формирования рапорта предлагается продолжить выполнение задания.
|
 |
Если все объекты в помещении установлены на отмеченные позиции, задание считается выполненым полностью.
|
 |
После формирования рапорта о 100% выполнении предлагается подтвердить его отправку.
|
 |
После отправки рапорта происходит его анализ с выдачей сигналов на внешнее устройство.
Невыполнение задания вызывает импульс в канале 2 подключенного ВУ.
|
 |
Частичное выполнение вызывает импульс в обоих каналах ВУ.
При неполном выполнении задания нажатие клавиш "ВВОД" или "ВЫХОД" возвращает программу в главное меню.
|
 |
Полное выполнение вызывает импульс в канале 1 ВУ.
При нажатии клавиш "ВВОД" или "ВЫХОД" программа переходит в меню "Задание" автоматически предлагая выбрать следующее помещение или задание.
|
Выход
 |
При выходе из программы через главное меню с строке комментариев выводится наименование программы и номер версии, в регистре Y - номер помещения, в регистре X - текущий шаг установщика.
|
Выход из программы командой "С/П" возможен, но не рекомендуется.
Формат текстового файла игры "Установщик"
Для формирования заданий в игре используются текстовые файлы специального формата. Длина файла - 3072 байта. Коды символов должны соответствовать ЭКВМ.
Таблица 1. Формат файла игры
Поле |
Смещение от начала файла, байт |
Длина, байт |
Примечание |
Формат файла |
0 (000h) |
3 |
"SOK" |
Версия Формата |
3 (003h) |
1 |
"0" |
Наименование задания |
4 (004h) |
8 |
Строка |
Наименование помещения 1 |
12 (00Ch) |
8 |
Строка |
Зарезервировано |
20 (014h) |
4 |
"0000" |
Помещение 1 |
24 (018h) |
600 |
См. таблицу 2 |
Наименование помещения 2 |
624 (270h) |
8 |
Строка |
Зарезервировано |
632 (278h) |
4 |
"0000" |
Помещение 2 |
636 (27Сh) |
600 |
См. таблицу 2 |
Наименование помещения 3 |
1236 (4D4h) |
8 |
Строка |
Зарезервировано |
1244 (4DCh) |
4 |
"0000" |
Помещение 3 |
1248 (4E0h) |
600 |
См. таблицу 2 |
Наименование помещения 4 |
1848 (738h) |
8 |
Строка |
Зарезервировано |
1856 (740h) |
4 |
"0000" |
Помещение 4 |
1860 (744h) |
600 |
См. таблицу 2 |
Наименование помещения 5 |
2460 (99Ch) |
8 |
Строка |
Зарезервировано |
2468 (9A4h) |
4 |
"0000" |
Помещение 5 |
2472 (9A8h) |
600 |
См. таблицу 2 |
Описание помещений состоит из 20 строк по 30 символов (слева-направо, сверху вниз). Значение символов приведено в таблице 2.
Таблица 2. Значение символов в описании помещения
Символ |
Код |
Значение |
Примечание |
' ' |
32 (20h) |
Проход |
|
'!' |
33 (21h) |
Грунт |
Функционально аналогичен '#' с другим изображением, в файлах формата sok для ПК не используется |
'#' |
35 (23h) |
Стена |
|
'$' |
36 (24h) |
Объект |
|
'*' |
42 (2Ah) |
Объект установлен |
|
'+' |
43 (2Bh) |
Установщик находится на отмеченной позиции |
|
'.' |
46 (2Eh) |
Позиция для установки |
|
'@' |
64 (40h) |
Установщик |
|
Программа
Файл программы: soko1_8.mkp, 17001 байт, КС 742013/233
Текст программы: soko1_8.mkl для кросс-компилятора
Файлы заданий:
Набор 1 (файлы 01...40)
Набор 2 (файлы 01...50)
|