Реализация знаменитой настольной китайской игры Маджонг.

kmahjongg 002

KMahjongg — увлекательная C++ / Ot / KDE реализация настольной китайской игры Маджонг.

kmahjongg 007

Маджонг — знаменитая настольная китайская азартная игра с использованием игральных костей для четырёх игроков (каждый играет за себя). Игра ведётся костями напоминающими костяшки домино, по правилам игра подобна покеру, от игроков требуется память и наблюдательность. В игре присутствует фактор случайности, роль которого может быть малой или решающей, в зависимости от используемых правил.

kmahjongg 003

kmahjongg 004

Несмотря на множество мифов, в действительности Маджонг относительно молодая игра, её возраст не превышает полутора веков. Цель игры набрать как можно больше очков, собрав наиболее ценную комбинацию из заданного количества костей. Необходимо отличать азартную игр Маджонг от одноимённого пасьянса, аналога карточного пасьянса для одного игрока играемого костями Маджонга.

kmahjongg 005

kmahjongg 006

В отличии от своего прототипа реализация KMahjongg является игрой для одного игрока, как пасьянс (оригинал реализован в Ши-сен-Сё / Shisen-Sho / KShisen), кости в игре тусуются и выкладываются друг на друга в форме определённой фигуры, перед игроком ставится задача как можно быстрее убрать все косточки с игрового поля путём нахождения пар одинаковых костей.

kmahjongg 008

kmahjongg 009

При запуске KMahjongg автоматически загружает раскладку костей "по умолчанию" (в настройках их более восьмидесяти), кости для каждой игры раскладываются случайным образом. Раскладки предполагают различную сложность, в зависимости от количества косточек и расположения их на доске (фигуры).

kmahjongg 010

kmahjongg 011

Фигура располагается посередине игрового поля (масштабируемого), фигуру можно поворачивать по часовой и против часовой стрелки. Счётчик игрового времени запускается сразу же после начала игры, после обнаружения одинаковых костей они по очереди отмечаются (левым кликом мыши), если кости выбраны правильно то они исчезают с игрового поля, показывая кости расположенные под ними и открывая смежные.

kmahjongg 012

kmahjongg 013

Необходимо найти как можно больше пар, можно выбирать только "открытые" кости, те сбоку от которых свободно (нет смежных костей). Убирать с поля можно только совпадающие кости (на лицевой стороне которых изображены одинаковые пиктограммы), но из этого правила есть исключения. Не все партии в KMahjongg можно довести до конца, кости могут располагаться так что все пары выбрать невозможно, но этого можно избежать задав в настройках вывод только "решаемых игр".

kmahjongg 014

kmahjongg 015

KMahjongg имеет частично настраиваемый интерфейс (перемещаемые, редактируемые и отключаемые панели инструментов), строка состояния (располагается визу игрового окна) содержит четыре области, отображающей количество убранных костей, игровой таймер, номер играемого расклада и готовность реализации к игре. Завершить партию нужно за минимально возможное время, если игроком используется режим "Подсказки" то его рекорд не засчитывается (не попадёт в список рекордов).

kmahjongg 016

kmahjongg 017

KMahjongg позволяет сохранить неоконченную игру (в *.kmgame файл), кроме режима "Подсказка" имеется режим "Демонстрация", имеется безлимитная возможность повтора и возврата ходов (Undo / Redo). При желании можно создать собственную фигуру, используя "Редактор раскладки" (сохраняется в *.layout файле), для игры (отметки костей) используется только мышь, для остальных функций можно использовать клавиатурные сочетания (настраиваемые), имеется подробная документация (в том числе на русском).

kmahjongg 018

KMahjongg входит в пакет KDE Games (набор игр разных жанров разрабатываемый в рамках среды рабочего стола KDE).

kmahjongg 019

Лицензия: FDL / GPL v2 / LGPL

kmahjongg 020

Домашняя страница

Страница на games.kde.org