Skip to content
iso4free edited this page Mar 13, 2015 · 2 revisions

= Введение =

Игра Sokoban была создана в 1981 году Хироюки Имабаяси, и впервые издана в 1982 году японской компанией Thinking Rabbit. В последствии было разработано огромное количество клонов для множества компьютерных платформ, включая практически все домашние и персональные компьютеры. Также существуют версии игры для карманных компьютеров, игровых приставок, цифровых фотоаппаратов и мобильных телефонов. Возникновение клонов стало возможным, потому что автору игры и его компании принадлежат права непосредственно на программу как на конечный продукт, а не на идею. Кроме того, автору принадлежат права на планы уровней первой реализации (в версии 1984 года их было пятьдесят). Поэтому всяческие римейки, использующие уровни того самого первого Сокобана, являются, строго говоря, незаконными.

= Техническая информация =

За годы своего существования Сокобан превратился из простой логической игрушки в культовый объект. С каждым годом появляются все новые и новые версии этой игры. По нему пишут диссертации и научные статьи. Он оброс различными вспомогательными программами и файловыми форматами. План уровня и первоначальное положение объектов записывается в обычном текстовом файле с помощью следующих символов: ||Символ||Описание|| ||#||стены|| ||пробел||пустое место, куда надо поставить ящик (так называемая "цель")|| ||@||человечек|| ||+|| человечек, который стоит на той клеточке, где находится одна из целей|| ||$||ящик на пустом месте|| ||звёздочка||ящик на одной из целей|| Такой формат записи получил название "XSB File Format". Файлы этого формата могут иметь расширения: xsb, sok, rdf, lp0, dat, pak и даже просто txt. Этот формат хранения уровней можно найти во многих клонах Сокобана. Есть также отдельный формат для записей перемещений человечка по лабиринту. В нем все перемещения записываются буквами r, l, u и d (соответствующие четырем направлениям перемещений). Если при перемещении двигается ящик, то буквы записываются в верхнем регистре.

= О проекте =

Данный клон игры вначале разрабатывался для иллюстрации примеров исходного кода к урокам сайта https://lazarus-games.ru/, но мне захотелось продолжить развитие игры и постепенно добавлять новые возможности, которые выходят за рамки уроков, поэтому было принято решение опубликовать проект для общего доступа. Игра написана с использованием открытой среды разработки Lazarus и компилятора Free Pascal Compiler, используются только стандартные компоненты. Работоспособность проверено в Windows XP SP3 и OpenSuse 13.1 x64, если у Вас есть возможность проверить под другими системами, пожалуйста, сообщите о результатах на сайт https://lazarus-games.ru/.

<g:plusone size="medium"></g:plusone>

Clone this wiki locally