KMahjongg — увлекательная C++ / Ot / KDE реализация настольной китайской игры Маджонг.
Маджонг — знаменитая настольная китайская азартная игра с использованием игральных костей для четырёх игроков (каждый играет за себя). Игра ведётся костями напоминающими костяшки домино, по правилам игра подобна покеру, от игроков требуется память и наблюдательность. В игре присутствует фактор случайности, роль которого может быть малой или решающей, в зависимости от используемых правил.
Несмотря на множество мифов, в действительности Маджонг относительно молодая игра, её возраст не превышает полутора веков. Цель игры набрать как можно больше очков, собрав наиболее ценную комбинацию из заданного количества костей. Необходимо отличать азартную игр Маджонг от одноимённого пасьянса, аналога карточного пасьянса для одного игрока играемого костями Маджонга.
В отличии от своего прототипа реализация KMahjongg является игрой для одного игрока, как пасьянс (оригинал реализован в Ши-сен-Сё / Shisen-Sho / KShisen), кости в игре тусуются и выкладываются друг на друга в форме определённой фигуры, перед игроком ставится задача как можно быстрее убрать все косточки с игрового поля путём нахождения пар одинаковых костей.
При запуске KMahjongg автоматически загружает раскладку костей "по умолчанию" (в настройках их более восьмидесяти), кости для каждой игры раскладываются случайным образом. Раскладки предполагают различную сложность, в зависимости от количества косточек и расположения их на доске (фигуры).
Фигура располагается посередине игрового поля (масштабируемого), фигуру можно поворачивать по часовой и против часовой стрелки. Счётчик игрового времени запускается сразу же после начала игры, после обнаружения одинаковых костей они по очереди отмечаются (левым кликом мыши), если кости выбраны правильно то они исчезают с игрового поля, показывая кости расположенные под ними и открывая смежные.
Необходимо найти как можно больше пар, можно выбирать только "открытые" кости, те сбоку от которых свободно (нет смежных костей). Убирать с поля можно только совпадающие кости (на лицевой стороне которых изображены одинаковые пиктограммы), но из этого правила есть исключения. Не все партии в KMahjongg можно довести до конца, кости могут располагаться так что все пары выбрать невозможно, но этого можно избежать задав в настройках вывод только "решаемых игр".
KMahjongg имеет частично настраиваемый интерфейс (перемещаемые, редактируемые и отключаемые панели инструментов), строка состояния (располагается визу игрового окна) содержит четыре области, отображающей количество убранных костей, игровой таймер, номер играемого расклада и готовность реализации к игре. Завершить партию нужно за минимально возможное время, если игроком используется режим "Подсказки" то его рекорд не засчитывается (не попадёт в список рекордов).
KMahjongg позволяет сохранить неоконченную игру (в *.kmgame файл), кроме режима "Подсказка" имеется режим "Демонстрация", имеется безлимитная возможность повтора и возврата ходов (Undo / Redo). При желании можно создать собственную фигуру, используя "Редактор раскладки" (сохраняется в *.layout файле), для игры (отметки костей) используется только мышь, для остальных функций можно использовать клавиатурные сочетания (настраиваемые), имеется подробная документация (в том числе на русском).
KMahjongg входит в пакет KDE Games (набор игр разных жанров разрабатываемый в рамках среды рабочего стола KDE).
Лицензия: FDL / GPL v2 / LGPL