# Підручник з &kajongg;

## Вступ

### Тип гри:

Гра на дошці, аркада

### Можлива кількість гравців:

Чотири

&kajongg; — це гра на дошці, створена на основі відомої східної гри «маджонґ» (китайською 麻將). У грі беруть участь четверо гравців. За час існування гри було створено дуже багато різних наборів правил. Поточна версія &kajongg; підтримує класичні китайські правила, які використовують у Німеччині, у майбутніх версіях буде реалізовано інші набори правил. Можна змінювати або додавати нові набори правил. Будь ласка, після створення нових правил надішліть їх авторові програми для подальшого додавання до пакунка програми.

&kajongg; можна користуватися у два різних способи. Зіграйте у гру у звичний спосіб, без комп’ютера, а потім скористайтеся &kajongg; для обчислення рахунків та ведення записів щодо гри. Крім того, ви можете скористатися &kajongg; для гри з довільною кількістю інших гравців-людей або комп’ютерних гравців.

## Компонування вікна

Знімок вікна &kajongg; Знімок вікна

Короткий опис частин вікна гри.

Панель інструментів

- Панель інструментів розташовано під смужкою меню. На ній містяться кнопки, що відповідають діям, які використовуються найчастіше. Вміст панелі інструментів можна змінити, крім того, ви можете зробити панель інструментів невидимою, щоб віддати більше місця на екрані дошці.

  Якщо ви працюєте за невеличким екраном, варто зробити панель інструментів невидимою або пересунути її у ліву частину вікна програми. Зробити це можна після клацання правою кнопкою миші у довільному вільному місці на панелі інструментів.

Дошка

- Дошка є найбільшою областю у вікні програми. У ній ви побачите чотири стіни довжиною у 18 плиток (ця кількість залежить від правил гри, зокрема від можливості використання додаткових плиток). На стінах буде написано імена гравців разом з поточною (у межах відомого) вартістю комбінації, а також показано плитки їх вітрів. Тло плитки переважного вітру буде забарвлено. На знімку такою плиткою є плитка «Східний».

  Під час гри на внутрішній стороні стін буде розташовано плитки, відкинуті гравцями. Розташування плиток буде випадковим. Останню відкинуту плитку буде позначено синьою рамкою.

  У режимі обчислення рахунків вручну між стінами буде показано набір можливих плиток, центральну область вибору. Ви можете призначити ці плитки гравцям за допомогою миші або клавіатури.

Поле гравця

- Кожному гравцеві для його плиток буде виділено окрему частину вікна. У верхньому рядку міститимуться відкриті плитки, а у нижньому — приховані. У режимі обчислення рахунку гри, зіграної вручну, приховані плитки буде показано затіненими. Бонусні плитки буде показано праворуч.

Діалогове вікно

- У діалоговому вікні гравцеві пропонуватиметься зробити певний вибір. Найчастіше для таких діалогових вікнах буде запущено таймер, а смужка поступу показуватиме час, що залишився на прийняття рішення.

Смужка стану

- Смужку стану розташовано у нижній частині вікна, у ній містяться дані щодо очок всіх гравців.

## Обчислення рахунку гри справжніми плитками

У цьому режим &kajongg; використовується лише для визначення рахунку гри, зіграної вручну. Ви граєте у звичний спосіб з людьми за матеріальним столом, а наприкінці гри вам слід повідомити &kajongg; плитки, які є у гравця, та всі інші потрібні &kajongg; відомості для обчислення рахунків. Саме обчислення рахунків і є призначенням програми. Крім того, ви можете обчислити рахунки вручну і ввести їх. Після цього &kajongg; виконає обчислення сплат гравців і запише результати до бази даних. Ви можете призупиняти гру, починати іншу гру з іншими гравцями і поновлювати старі ігри. Всі правила зберігаються разом з іграми, отже, у різні ігри можна грати за різними правилами.

- Оберіть пункт меню Гра Рахунок гри вручну або натисніть комбінацію клавіш &Ctrl;C.

- Ви можете або обрати існуючу незавершену гру, або розпочати нову. Якщо ви розпочнете нову гру, програма запропонує вам визначити гравців і набір правил. &kajongg; запропонує вам набір параметрів, які було використано під час попередньої гри. Якщо ви ще не грали з &kajongg;, програма запропонує перших чотирьох визначених гравців. Будь ласка, зауважте, що ви не зможете змінити набір правил або будь-яке правило з набору після вибору параметрів гри за допомогою цієї сторінки. Ви можете зробити це попередньо за допомогою редактора наборів правил.

- Після цього ви побачите нове вікно з заголовком Результати для цієї комбінації. Його докладний опис наведено у розділі Обчислення рахунків за допомогою &kajongg;.

- Після збереження результатів гравця, перейти до наступного гравця.

### Введення результатів комбінацій

#### Рахунки

Знімок вікна &kajongg; Знімок вікна

Це вікно призначено для введення результатів гравця. Програма &kajongg; автоматично відкриватиме це вікно, коли вважатиме, що у цьому є потреба. Відкрити або приховати це вікно можна натисканням комбінації клавіш &Ctrl;S або вибором відповідного пункту меню.

Поле переважного вітру завжди матиме зафарбоване тло.

У цьому вікні ви зможете ввести рахунки для всіх гравців вручну. Крім того, ви можете точно визначити плитки, власником яких є кожен з гравців. Якщо ви почнете вказувати плитки, відповідне поле для безпосереднього введення рахунку буде позначено сірим кольором. Результат буде обчислено програмою &kajongg; у автоматичному режимі.

Після введення всіх відповідних даних для гравця натисніть кнопку Зберегти дані гравця. Після натискання цієї кнопки дані гравця буде додано до бази даних, а також до таблиці результатів. Можливо, програма попросить вас змінити позиції гравців, але ви можете їх і не змінювати. У поточній версії ще не можна змінити запропоновані програмою параметри. Якщо для певного набору правил подібна зміна є необхідною, автори можуть реалізувати відповідну можливість.

Якщо гравець є ймовірним переможцем, програма увімкне поле у стовпчику Переможець. Позначте це поле, якщо гравець і справді є переможцем.

У смужці стану буде показано оновлені значення балансу для гравця, ви можете перейти до іншого.

##### Введення рахунка вручну

Досвідчені гравці, ймовірно, нададуть перевагу обчисленню власного рахунку вручну. Якщо ви є таким гравцем, ви можете ввести рахунок безпосередньо. Цей варіант буде можливим лише до моменту вибору будь-якої плитки відповідного гравця.

Якщо ви вводите рахунок вручну, серед даних рахунка мають бути всі параметри гри, окрім штрафів, у вас не буде змоги обирати якісь додаткові правила. Існує єдиний виняток: Небезпечна гра. Виняток не стосується ні рахунків, ні крадіжок. Він стосується лише відмінності у розрахунках між гравцями: шахраєві все одно доведеться платити переможцеві. Інші два гравці нічого не платитимуть одне одному. У поточній версії таку поведінку програми змінювати не можна.таку поведінку програми змінювати не можна.

##### Обчислення рахунка за допомогою &kajongg;

Якщо ви явно вказуватимете &kajongg; плитки гравця, у цьому вікні поля введення рахунка для гравця буде вимкнено. Під час призначення плиток до гравця ви зможете спостерігати за зростанням його рахунка, але після додавання чотирнадцятої плитки рахунок стане нульовим. Це може здивувати, але згадайте: якщо ви не вказали, що це комбінація переможця, програма вважатиме, що це довга комбінація, за яку завжди нараховується нуль очок. Така поведінка визначається класичними китайськими правилами, для інших наборів правил правила обчислення рахунка можуть бути іншими, якщо ви зміните їх або скористаєтеся іншими правилами.

Якщо хочете, можете призначити плитки або комбінації гравцям за допомогою вказівника миші або клавіатури. За допомогою вказівника миші плитки можна просто перетягувати і скидати у область гравця. Після скидання плитки програма запитає у вас про комбінацію, яку ви перетягнули: Одиниця, Пара, Понг, Конг, Оголошений Конг або Чоу. У верхньому рядку буде показано відкрити плитки, а у нижньому — приховані. Бонусні плитки буде показано праворуч. Крім того, ви можете пересувати плитки і комбінації між рядками, між полями гравців і назад до області вибору.

Якщо ви надаєте перевагу використанню клавіатури, ви можете скористатися натисканням клавіші для переходу позначки вибору між центральною областю та областями гравців. За допомогою клавіш eswnESWN можна пересувати плитку Східному (East), Південному (South), Західному (West) або Північному (North) гравцеві. Натискання клавіші X пересуне плитку назад до центральної області вибору. Великі літери ESWN пересувають плитки до рядка прихованих, eswn — до рядка відкритих. Ви можете пересувати курсор між плитками або комбінаціями за допомогою клавіш зі стрілочками. Поточну плитку або комбінацію буде позначено синьою рамочкою. Оскільки клавіші зі стрілочками розташовано на певній віддалі від інших клавіш клавіатури, ви можете також скористатися клавішами з літерами hjkl або HJKL для пересування курсора. hH пересувають курсор ліворуч, jJ — вниз, kK — вгору, lL — праворуч. Подібна поведінка характерна для редактора UNIX `vi`. У переглядачі &kde;, konqueror, і навіть у програмі для читання цієї довідки можна користуватися цими ж клавішами з цією ж метою. Назви клавіш залежать від використаної вами мови (для української використано ті самі літери, що і у англійській), у поточній версії програми зміни цих клавіатурних скорочень не передбачено.

Пункти Остання плитка і Остання комбінація потрібні для деяких правил, наприклад остання плитка завершує пару. Ними можна скористатися лише для комбінації переможця.

Праворуч ви можете вручну застосувати деякі з правил. Вміст списку правил залежатиме від поточного набору правил та плиток. У прикладі на знімку вікна, наведеному вище, гравці-невдахи можуть скористатися варіантом «небезпечна гра», — знову ж таки, залежно від набору правил та наявних плиток. Спрощення списку правил, які слід доводиться вручну, є одним з завдань розробників. За ідеальних умов &kajongg; повинен завжди автоматично визначати можливість застосування правила, але іноді у &kajongg; просто не вистачає інформації, або логіка програми не може знайти потрібного варіанта.

#### Покарання

Знімок вікна &kajongg; Знімок вікна

До відкриття цього вікна призведе натискання кнопки Штрафи у вікні для введення результатів. Тут ви зможете ввести значення штрафів. Ввести штраф можна будь-коли, незалежно від звичайного механізму обчислення рахунків.

У полі вибору крадіжка: буде показано всі різновиди крадіжок, які може бути застосовано відповідним гравцем. Оберіть один з них.

Після цього ви можете вказати Загальний штраф. Загальний штраф — це сума, яку платник сплачує всім отримувачам. Цю суму буде порівну поділено між переможцями.

Залежно від типу крадіжки, кількість платників та отримувачів може бути різною. Програма покаже належну полів гравців. Якщо ви оберете гравця, &kajongg; забезпечить відсутність повторів зміною вмісту інших полів гравців.

## Як грати

Ви можете увімкнути або вимкнути режим демонстрації будь-коли. У режимі демонстрації комп’ютер гратиме за вас. Якщо не відбуватиметься жодна гра, буде розпочато нову гру з останнім використаним набором правил.

### Гра з комп’ютерним гравцем

Спочатку буде відкрито діалогове вікно входу до системи. Вкажіть назву ігрового сервера, з яким слід встановити з’єднання, та ім’я вашого користувача. Якщо ви скористаєтеся особливим пунктом Локальна гра, вам слід вказати лише ім’я гравця (або погодитися з запропонованим іменем) та бажаний набір правил. Після цього негайно буде розпочато гру, у якій вашими суперниками будуть три комп’ютерних гравці. Якщо програма виявить записи призупинених ігор, ці ігри буде показано у списку. Ви можете вибрати гру, яку слід продовжити, або розпочати нову гру.

### Гра з друзями

Якщо ви бажаєте зіграти з гравцями-людьми, вам потрібен буде ігровий сервер, з яким всі гравці, зокрема і ви, маєте встановити з’єднання. Зробити це можна вибором відповідного вузла або введенням назви вузла вручну з наступним введенням пароля для доступу до цього вузла. Програма запропонує вам скористатися останнім з введених паролів.

Найпростішим способом є використання сервера гри за адресою `kajongg.org`. У списку можливих серверів гри &kajongg; буде показано лише цей сервер. Будь ласка, зауважте, що у поточній версії сервер kajongg.org є лише сервером гри, вебсторінки та інших служб не передбачено.

Якщо на сервері гри немає облікового запису з вказаною вами назвою, програма запитає вас про те, чи не бажаєте ви створити такий запис. Якщо ви підтвердите створення, буде відкрито діалогове вікно, у якому вам слід буде двічі ввести бажаний пароль до запису. Після введення пароля програма створити обліковий запис у автоматичному режимі.

Після успішного входження до ігрового сервера програма покаже список столів, за якими можна грати на сервері. Приєднайтеся до одного зі столів або створіть власний. Якщо вами було створено власний стіл, дочекайтеся приєднання до нього достатньої кількості гравців. Гру за новим столом можна розпочати будь-коли: вільні місця буде заповнено комп’ютерними гравцями.

Крім того, у списку столів буде показано назву набору правил, за яким відбувається гра на столі. Набір правил та його назва визначається надсиланням відповідних даних на ігровий сервер гравцем, який першим «сів» за стіл. Якщо у вашій системі вже є набір правил з вибраною назвою, буде показано цю назву, — подібна поведінка буде корисною, якщо ініціатор гри не говорить вашою мовою і називає набір правил невідомою вам назвою. Крім того, локальні назви наборів правил буде показано чорним кольором. Якщо ж у вашій системі не виявиться відповідного набору правил, його назву буде позначено червоним кольором. Ви зможете скористатися кнопкою Порівняти для порівняння цього набору з вашим власними наборами правил.

Якщо ви не хочете користуватися `kajongg.org` або будь-яким іншим сервером гри, ви можете запустити власний сервер гри &kajongg; у один з таких двох способів:

- встановити з’єднання з сервером `localhost`. Цим сервером буде ваш власний комп’ютер. Якщо ви виберете цей варіант, а ігровий сервер ще не буде запущено, програма запустить його у автоматичному режимі. Після завершення гри програма так само автоматично завершить роботу сервера. Це не те саме, що вибрати варіант Локальна гра, оскільки за останнього варіанта з’єднання з іншими комп’ютерами не відбуватиметься.

- запустити сервер на будь-якому іншому комп’ютері вручну. Для цього вам достатньо наказати виконати програму `kajonggserver` за допомогою командного рядка. Якщо ви скористаєтеся командою `kajonggserver --help`, програма покаже вам всі можливі параметри, зокрема подасть довідку щодо зміни типового порту. Запущений таким чином сервер працюватиме, доки ви не перервете його роботу.

У обох випадках вам слід повідомити іншим гравцям про те, яким чином можна з’єднатися з вашим ігровим сервером. Вам потрібно буде назвати адресу URL або просто IP-адресу, а також порт, на якому сервер очікуватиме на з’єднання. Це може бути щось на зразок `mypc.dyndns.org:8301`, де `8301` — це номер порту. Звичайно ж, вам слід налаштувати брандмауер вашого комп’ютера таким чином, щоб віддалений гравець зміг встановити з’єднання з відповідним портом. Весь обмін даними буде зашифровано.

Щоб визначити номер порту, будь ласка, скористайтеся пунктом меню Довідка Про Kajongg. Версія протоколу збігається із номером порту. Для &kajongg; версії 17.04 буде використано порт 8301. Якщо користувачем не буде вказано порту для встановлення з’єднання з сервером, клієнтська програма обчислить номер порту у такий самий спосіб. Отже, якщо комп’ютер працює з декількома ігровими серверами, програма використовуватиме сумісний з нею сервер автоматично. Щоб там не сталося, але сервер гри і клієнтська частина автоматично забезпечать сумісність між собою і попередять користувача, якщо таку сумісність встановити не вдасться.

Якщо ви натрапите на можливі вади у програмі, ви можете скористатися командою `kajongg --debug=traffic`. За його допомогою ви зможете побачити у консолі, з якої запущено ігровий сервер, повідомлення, якими обмінювалися сервер гри та клієнти. Щоб ознайомитися із усіма параметрами команди, віддайте команду `kajongg --help`

#### Застереження

- Якщо вам потрібна безпека від шахрайства, жоден з гравців-людей не повинен мати доступу до комп’ютера, на якому запущено сервер гри. Звичайно ж, зробити так, щоб два гравці не допомагали один одному не можна, оскільки програма не може стежити за їх діями. Два віртуальних гравці навіть можуть бути просто одним реальним гравцем.

### Правила гри

У різних частинах світу у гру грають по різному. У поточній версії &kajongg; передбачено два варіанти класичних китайський правил: за одним з них грають у Німеччині, за іншим — у Великобританії.

Цей опис не є надто докладним, тому стосується обох варіантів.

Більшість основних правил є спільними для різних варіантів гри.

Оскільки правила гри вже використано у &kajongg;, у нашому описі ми поговоримо лише про речі, які не є очевидними.

Якщо ви бажаєте поглиблено вивчити маджонґ, будь ласка, зверніться до джерел зі списку літератури.

#### Мета гри

Кожен з гравців намагається зібрати у себе виграшну комбінацію плиток. Якщо таку комбінацію буде зібрано, гравець проголошує «маджонґ». У виграшній комбінації плитки, зазвичай, можна розподілити на п’ять груп: чотири групи з трьох або чотирьох плиток кожна і п’ята груп з двох однакових плиток. Звичайна група складається з трьох або чотирьох однакових плиток (які називаються панг і конг, відповідно) або трьох послідовних плиток, наприклад Бамбук 3, Бамбук 4, Бамбук 5 (інша назва «чоу»).

#### Хід гри

На початку гри гравець зі східного вітру (відповідно до стіни) має на одну плитку більше за інших гравців. Східний гравець починає з відкидання небажаної плитки.

Після відкидання плитки інші гравці можуть забрати її, оголосивши, що яку комбінацію завершує ця плитка (чоу, панг, конг чи маджонґ). Чоу може оголосити лише наступний гравець, — інші варіанти оголошення можуть використовуватися всіма гравцями. Групу, яку завершено внаслідок оголошення буде відкрито, — її зможуть бачити всі гравці.

Якщо ніхто з гравців не забрав відкинуту плитку, наступний гравець, Південь (потім Захід і Північ) бере плитку зі стіни і відкидає непотрібну йому плитку.

Існує декілька правил розширення пангу до конгу (підбиранням четвертої плитки або отриманням її зі стіни). У цьому підручнику ми не будемо їх пояснювати. Але &kajongg;, звичайно ж, ці правила відомі, програма забезпечить їх виконання. Якщо буде оголошено конг, гравець автоматично отримає плитку-замінник зі стіни, якщо цього не зробити, не можна буде зібрати п’ять груп, про які ми згадували вище.

#### Рік, раунд і розіграш комбінації

Якщо хтось з гравців оголошує маджонґ або гра завершується нічиєю, розіграш комбінації вважається завершеним. Після цього, якщо гра не завершилася нічиєю, відбувається зміна вітрів для гравців. Така зміна повторюється, доки кожен з гравців не зіграє за кожен з вітрів. Такий відрізок гри називається раундом. Вся гра, яку також називають роком, складається з чотирьох раундів: раунду східного вітру, раунду південного вітру, раунду західного вітру та раунду північного вітру. Вітер раунду також називається переважним вітром, його використання може підвищити оцінку гри.

Отже повна гра (рік) складається з принаймні 16 розіграшів комбінацій. Оскільки зміна вітрів не відбувається, якщо гра завершилася нічиєю або східний гравець проголосив маджонґ, зазвичай, для гри буде потрібно більше, ніж 16 розіграшів комбінацій.

#### Бонусні плитки

У грі може бути використано вісім бонусних плиток (якщо правилами їх не буде виключено). Ці плитки буде показано окремо у правій області поля гри, оскільки вони не використовуються для побудови груп. Втім, використання цих плиток надає гравцеві додаткові бонусні очки.

Якщо гравець отримує бонусну плитку, він автоматично отримує плитку-замінник зі стіни. Програма при цьому відтворює звуковий сигнал.

#### Правила оцінок

Наприкінці розіграшу комбінації для кожного з гравців виконується обчислення оцінки. По-перше, обчислюються основні очки, зокрема 2 очки за простий панг або 20 очків за виграш. Далі застосовується ще один набір правил. Відповідно до цих правил очки можуть подвоюватися, наприклад, за групу драконів. Після того, як стає відомою оцінка для кожного з гравців, відбувається обчислення сплат між гравцями: переможець отримує сплату своєї повної оцінки від інших гравців. Східний гравець завжди отримує або сплачує подвійну кількість очок.

Звичайно ж, програмі &kajongg; відомі всі можливі правила, але досвідченому гравцеві не складно зрозуміти, які комбінації можуть дати максимальну оцінку. Втім, на час навчання вам варто скористатися пунктом меню Пояснення рахунку.

Точні правила оцінювання дуже залежать від використаного варіанта гри. У &kajongg; ви можете самі встановити правила оцінювання за допомогою редактора наборів правил.

Крім того, у редакторі правил буде показано всі доступні правила та їх призначення. Наведіть вказівник миші на пункт правила, щоб переглянути довідку щодо найекзотичніших з правил.

### Як грати за допомогою &kajongg;

Програма запитає вас про подальші дії. Це невеличке діалогове вікно може з’являтися праворуч або в нижній частині вікна, залежно від геометричних параметрів вікна. Якщо ви зробили вікно широким або невисоким, діалогове вікно з’явиться праворуч. Деякі діалогові вікна працюють у режимі таймера: коли час буде вичерпано, програма автоматично вибере перший же з можливих варіантів. Значення часу очікування можна налаштувати у редакторі правил, пункт Параметри, Тайм-аут оголошення. Тайм-аут має бути однаковим для всіх гравців, ось чому це значення є частиною набору правил гри.

Щоб вибрати плитку з вашої комбінації, вам слід пересунути позначку за допомогою натискання клавіш зі стрілками праворуч та ліворуч або клавіш з літерами H та L. Звичайно ж, ви можете скористатися вашою мишею.

Ви можете відкинути плитку за допомогою клавіатури у той самий спосіб, що і для решти дій у програмі. Крім того, ви можете скористатися вказівником миші для пересування плитки з вашого набору плиток до області відкидання (внутрішньої області за стінами). Розташування плитки у області відкидання все ж буде виконано комп’ютером, оскільки розташування має бути однаковим для всіх гравців.

Часто діалогові вікна пропонують вам варіанти, які є неможливими, наприклад оголошення пангу, коли у вас немає потрібних плиток. Так зроблено навмисно, щоб гра була більше схожою на реальну. Втім, ви можете наказати програмі не показувати неможливі варіанти вибору: зніміть позначку з пункту Показувати лише можливі дії на сторінці Гра діалогового вікна параметрів програми.

Відкинуті плитки розподіляються між стінами випадковим чином. У деяких варіантах гри розташування таких плиток строго регламентується, але у поточній версії гри подібне налаштування неможливе. Можливість налаштування буде реалізовано як частину правил гри.

## Огляд інтерфейсу

### Пункти меню

&Ctrl;C Гра Рахунок гри вручну

- Враховувати лише введені вручну комбінації.

  Ви можете завантажити попередню гру або розпочати нову гру. Типово, у списку вибору будуть лише відкладені (тобто незавершені) ігри. Якщо ви цього захочете, ви можете налаштувати гру на показ всіх ігор, зокрема і завершених. За допомогою цього списку ви зможете вилучати записи ігор.

&Ctrl;N Гра Грати

- Гра з іншими гравцями (людьми або комп’ютерними гравцями).

&Ctrl;W Гра Перервати гру

- Перервати поточну гру. Якщо цією грою була гра справжніми плитками, для якої програма лише обчислювала рахунок, ви зможете поновити гру пізніше. Якщо ж для гри ви використовували саму програму &kajongg;, можливості поновлення гри ще не передбачено.

&Ctrl;Q Гра Вийти з &kajongg;

- Завершує роботу &kajongg;.

&Ctrl;H Перегляд Спілкування

- Спілкування

  Вікно спілкування Вікно спілкування

  Надає змогу спілкуватися з іншими гравцями.

&Ctrl;T Перегляд Підсумкова таблиця

- Підсумкова таблиця

  Підсумкова таблиця Знімок вікна

  Показати підсумкову таблицю. У стовпчику «Раунд/Розіграш» буде показано назву раунду (Схід, Південь, Захід чи Північ) і кількість розіграних комбінацій. Поле переможця у стовпчику результатів буде підсвічено зеленим кольором. У стовпчику сплат буде показано виграш або програш гравця. У стовпчику балансу буде показано поточний баланс для всіх гравців. За допомогою підказок ви зможете дізнатися більше: буде показано всі правила, які було застосовано до відповідної комбінації. Достатньо просто навести вказівник миші на відповідне значення у таблиці.

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

&Ctrl;E Перегляд Пояснення рахунку

- Пояснення рахунку

  Підсумкова таблиця Підсумкова таблиця

  Надає пояснення щодо рахунку для поточного гравця.

&Ctrl;&Shift;F Параметри Повноекранний режим

- Перемикає програму між повноекранним режимом і звичайним режимом.

Параметри Гравці

- Тут ви можете додавати, змінювати або вилучати гравців зі списку.

  Паролі з цієї таблиці є типовим до використання під час встановлення з’єднання з сервером. Зміна паролів, які було початково вибрано на сервері гри, не призведе до бажаних наслідків, оскільки ще не реалізовано зміну вашого пароля на сервері гри. Вам доведеться просити про таку зміну адміністратора ігрового сервера. Лише він може внести безпосередні зміни до бази даних паролів сервера.

Параметри Набори правил

- Налаштувати набори правил.

  Налаштувати набори правил можна за допомогою редактора наборів правил. Докладніший його опис наведено тут.

&Ctrl;G Параметри Змінити кут огляду

- Використання цього пункту меню змінює кут огляду плиток проти годинникової стрілки.

&Ctrl;D Параметри Режим демонстрації

- Вмикає або вимикає режим демонстрації. Докладніше про цей режим можна дізнатися тут.

Крім того, у &kajongg; передбачено типові для &kde; пункти меню Параметри і Довідка. Щоб дізнатися більше, ознайомтеся з розділами щодо меню «Параметри» та меню «Довідка» підручника з основ роботи у &kde;.

## Налаштування гри

Діалогове вікно налаштування Діалогове вікно налаштування

Пункт меню Параметри Налаштувати &kajongg;... відкриває діалогове вікно Налаштувати &kajongg;.

Якщо ви натиснете кнопку Скасувати, всі внесені вами у налаштування зміни буде відкинуто, зокрема буде відкинуто всі зміни, внесені за допомогою редактора наборів правил.

Крім того, ви можете відкривати вкладки за допомогою клавіатури: комбінація клавіш &Ctrl;1 відповідає відкриттю першої вкладки, Гра, &Ctrl;2 — відкриттю другої вкладки тощо.

### Параметри гри

Показувати тіні плиток

- Позначення цього пункту призведе до показу країв та тіней від плиток. Крім того, буде додано проміжок між рядами плиток, а плитки стіни буде показано таким чином, що можна буде визначити, складається стіна з двох чи трьох плиток. Якщо ви знімете позначку з цього пункту, показ буде дещо спрощено, плитки виглядатимуть більшими. Подібний режим може бути зручнішим для показу на невеличких екранах.

Перевпорядкувати невідкриті плитки за комбінаціями

- За допомогою цього пункту виконується групування комбінацій у наборі плиток. Іноді таке групування може відрізнятися від бажаного для вас групування, отже у вас може виникнути бажання вимкнути групування взагалі, так само, як немає ніякого групування у грі справжніми плитками.

Показувати лише можливі дії

- Під час гри показувати лише можливі дії, зокрема «Не оголошувати» або «Панг».

Пропонувати дії

- Якщо у вас буде вибір дії, зокрема щодо оголошення чи неоголошення плитки або вибору плитки, яку слід відкинути, &kajongg; може допомогти вам підказками.

Використовувати звуки, якщо такі передбачено

- За допомогою цього пункту ви зможете чути повідомлення про відкидання або оголошення гри. Якщо інші гравці записали звукові файли з власним голосом, ви зможете почути їх.

Надати змогу іншим чути мій голос

- Якщо ви записали звукові файли з повідомленнями гри, за допомогою цього пункту ви зможете надати іншим гравцям змогу чути відкидання та оголошення гри, вимовлені вашим голосом.

Швидкість анімації:

- За допомогою цього пункту можна визначити швидкість пересування плиток. Якщо ви пересунете повзунок у найправішу позицію, програма не анімуватиме пересування плиток: плитки просто миттєво змінюватимуть розташування.

#### Звук

Грати набагато цікавіше, якщо ви чуєте, як гравці оголошують про ходи або викидання плиток. Крім того, так грати простіше, оскільки ви можете зосередитися на власних плитках, вам не потрібно відволікатися на розглядання плиток, які було викинуто іншими гравцями.

У &kajongg; передбачено звукові файли для різних гравців. Набори цих звукових файлів (голоси) призначатимуться гравцям автоматично. Для кожної мови має бути записано чотири голоси, два чоловічі і два жіночі. &kajongg; намагається використовувати голоси тієї мови, якою показано інтерфейс &kajongg;. Якщо голосів відповідною мовою виявлено не буде, &kajongg; повернеться до використання голосів інших мов. Буде використано ті мови, які було визначено як резервні для &kajongg; (див. Довідка Перемкнути мову програми). Якщо голосових файлів вашою мовою ще не створено, вам варто записати ці голосові файли і надіслати їх розробникам &kajongg;.

- Нижче описано процедуру створення голосових файлів. Для кожного голосу слід створити окрему теку. Будь ласка, зауважте, що ці теки у вашій системі може бути розташовано інакше. Конкретне місце залежить від способу встановлення &kde;. Однаковою буде лише частина, яка починається з `kajongg`. У файловій системі має бути дві групи голосів з різними розташуваннями.

  - Стандартні голоси для кожної мови. Ці голоси зберігаються у теці з назвою `/usr/share/kajongg/voices/МОВА`, де МОВА — код вашої мови. Теки голосів, розташовані безпосередньо у `.../kajongg/voices/` є теками голосів американською англійською. Стандартні голоси призначаються гравцям випадковим чином. Такі голоси мають назви `"male1 male2 female1 female2"`, але вказані імена насправді нічого не значать, оскільки ви ніколи не бачитимете ці імена у грі.

  - Голоси, визначені користувачем, можна створювати для кожного з користувачів програми. Якщо у &kajongg; визначено використання такого голосу, відповідні голосові дані буде передано іншим гравцям за допомогою інтернету. Такі голоси зберігаються у теці з назвою, подібною до `~/.local/share/apps/kajongg/voices/`. Отже, якщо вашим користувачем у системі є користувач ivan, відповідна тека матиме назву `/home/ivan/.local/share/apps/kajongg/voices/ivan/`. Теки `voices/` у вашій системі може не існувати. Якщо ви не знайдете такої теки, створіть її.

- Тепер, коли ви знаєте, куди слід зберегти ваші нові голосові файли, час створити для них новий каталог.

- У відповідній підтеці ви можете зберегти файли звукових даних. Звукові дані має бути збережено у кодуванні Ogg Vorbis, назви файлів мають завершуватися суфіксами `.ogg`. Зразок назви файла: `s3.ogg` — файл для Каменя 3. Вам слід створити такі файли для всіх плиток і для всіх оголошень. Якщо файла не вистачатиме, нічого страшного не трапиться, — ви просто не почуєте відповідного звуку. Використання резервних файлів з інших мов можливе лише для цілих голосів, — окремі звукові файли не використовуватимуться.

- Після визначення всіх файлів звукових даних для стандартного голосу, будь ласка, переконайтеся, що процес &kajongg; має доступ на запис до нового каталогу голосів. Запустіть &kajongg; і виконайте перевірку голосу. Якщо все гаразд, ви можете прибрати доступ на запис (так і слід зробити для стандартних голосів). &kajongg; автоматично створить файл з назвою `md5sum`, у якому міститиметься контрольна сума файлів звукових даних. Під час кожної зміни, додавання або вилучення файла звукових даних &kajongg; намагатиметься оновити дані цієї контрольної суми.

Будь ласка, намагайтеся говорити швидко, але чітко, — у гру можна грати дуже швидко, якщо трохи до неї призвичаїтися. Вам буде легше, якщо ви спочатку створите список всіх фраз, які слід вимовити. Не читайте список як суцільний текст, намагайтеся вимовити кожен пункт окремо, так, як ви вимовляли б його під час гри. Залишайте між словами паузи. Подібний спосіб читання потребує певної вправності.

Ось лише один зі способів створення файлів звукових даних:

- Запишіть звуковий файл за допомогою програми `qarecord`, збережіть його у форматі `WAV`. У цьому звуковому файлі мають бути всі звукові повідомлення.

- Відкрийте цей файл у звуковому редакторі `audacity`. Скористайтеся мишею для позначення ділянок звукової доріжки. Після позначення відтворіть дані за допомогою редактора. Полегшити ваше завдання може пункт меню Перегляд Збільшити. Скористайтеся пунктом меню Файл Експорт вибраної області і збережіть дані у форматі `ogg`. Якість не обов’язково має бути дуже високою (виберіть за допомогою кнопки Параметри низьке значення якості), краще навіть скористатися максимальним стисканням, оскільки за такого стискання зменшиться час, потрібний на передавання даних іншим гравцям.

Нижче наведено список назв файлів, які вам слід створити. До вказаних назв слід додати суфікс `.ogg`:

#### Назви звукових файлів

&s1; .. &s9; | Камені від 1 до 9
&b1; .. &b9; | Бамбук від 1 до 9
&c1; .. &c9; | Символи від 1 до 9
&we; &ws; &ww; &wn; | Вітри (східний, південний, західний, північний)
&db; &dr; &dg; | Дракони (синій/білий, червоний, зелений)
&chow; &pung; &kong; &mahjongg; | Основні оголошення
&originalcall; &violatesoriginalcall; | Початковий виклик і його порушення
&dangerousgame; | Гравець стріляє з гармати (небезпечна гра)
&nochoice; | Гравець проголошує, що у нього немає іншого вибору — йому доведеться розпочати небезпечну гру

### Параметри плиток

Вибір набору плиток Вибір набору плиток

За допомогою засобу вибору Плитки можна обрати графічну тему для плиток.

### Параметри тла

Засіб вибору тла Засіб вибору тла

Засобом вибору Тло можна скористатися для вибору фонової графіки гри.

Деякі з зображень тла, на зразок китайських краєвидів, потребують певного часу на завантаження. Якщо вам потрібно пришвидшити запуск програми або збільшити швидкість зміни розмірів головного вікна, ви можете спробувати інше зображення тла.

### Редактор наборів правил

Редактор наборів правил Редактор наборів правил

Щоб змінити набір правил, скористайтеся редактором наборів правил. Записи попередньо визначених наборів правил буде показано курсивним шрифтом, змінені набори правил буде показано звичайним шрифтом. Змінити попередньо визначені набори правил сам користувач не може, але ці набори може бути змінено під час оновлення &kajongg;. Змінені набори правил під час оновлення програми змінено не буде.

На початку нової гри ви зможете обрати набір правил, за якими вона вестиметься. Можна використовувати будь-який набір правил з визначених у редакторі наборів правил. Набір правил зберігається разом з грою, отже ви завжди зможете змінити набори правил, але внесені вами зміни стосуватимуться лише наступних ігор.

#### Правило, очки, подвоєння, обмеження

Просто наведіть вказівник на пункт, який ви бажаєте змінити, і двічі клацніть лівою кнопкою миші. Якщо всі значення буде прибрано, правило не впливатиме на гру. Окремі правила не можна вилучати.

#### Копіювання і вилучення

Ви можете копіювати і вилучати цілі набори правил.

Знову ж таки, ви можете робити це, навіть якщо існують ігри, які використовують змінений набір правил, оскільки у кожній з ігор міститься власна копію правил, за якими вона ведеться. Ви можете переглянути набори правил для попередніх ігор: завантажте попередню гру і накажіть програмі показати таблицю з її рахунком.

#### Порівняти

Порівнювач правил Порівнювач правил Скористатися цією командою можна, якщо позначено цілий набір правил. За її допомогою можна порівняти позначений набір правил з будь-яким іншим відомим програмі набором.

### Типові клавіатурні скорочення

Типовими клавіатурними скороченнями є:

F1

- Показує цей підручник.

&Ctrl;C

- Обчислення рахунку гри справжніми плитками.

&Ctrl;N

- Грати у гру з вашим друзями або комп’ютерними гравцями.

&Ctrl;W

- Перервати поточну гру.

&Ctrl;Q

- Завершити роботу програми.

&Ctrl;T

- Показує таблицю результатів.

&Ctrl;H

- Показати вікно спілкування

&Ctrl;G

- Змінює кут перегляду.

&Ctrl;D

- Вмикає або вимикає режим демонстрації.

&Shift;F1

- Довідка «Що це?»

&Ctrl;&Shift;F

- Повноекранний режим.

## Відомі проблеми

- У режимі гри не передбачено штрафів.

- Комп’ютерні гравці все ще грають доволі слабко.

## Можливі майбутні можливості

- Додавання власних наборів правил. Цією можливістю можуть скористатися гравці, які користуються цими правилами регулярно.

## Часті запитання

Я хочу змінити вигляд цієї гри. Як це зробити?

Щоб змінити зовнішній вигляд вікна &kajongg;, скористайтесь пунктом меню, який відкриває інструмент налаштування.

Чи можна скористатися клавіатурою для призначення плиток гравцям?

Так. Див. розділ Обчислення рахунка за допомогою &kajongg;.

## Подяки і ліцензія

&kajongg; для &kde;

Авторські права на програму належать © &Wolfgang.Rohdewald; &Wolfgang.Rohdewald.mail;, 2009–2017

Авторські права на документацію належать © &Wolfgang.Rohdewald; &Wolfgang.Rohdewald.mail;, 2009–2017

Переклад українською: Юрій Чорноіван yurchor@ukr.net

&underFDL; &underGPL;

## Література

- Das Chinesische Mah-Jongg-Spiel by Uwe Martens 2005, Books on Demand GmbH, Norderstedt. У цій чудовій книзі німецькою ви знайдете все про правила, що використовуються у Німеччині, та багато інших аспектів гри.

- The Complete Book of Mah-Jongg by A. D. Millington, 1977 (with several paperback editions up to 2003), Weidenfeld & Nicolson, London. Повноцінний довідник щодо класичного китайського маджонґу, згідно до правил, що використовуються у західному світі. У цій книзі ви знайдете цінні поради щодо стратегії гри.

- Mah-Jong by Gwyn Headley and Yvonne Seeley, 3rd edition, 2008, A & C Black Publishers Ltd., London. Ця книга є дуже простим у користуванні довідником, у якому описано правила, що використовуються у Великобританії. Ці правила розроблено BMJA (British Mah Jong Association).

## Встановлення

У Linux: у вашому дистрибутиві має бути відповідний пакунок.

У Windows: будь ласка, скористайтеся пакунком для Windows.

Якщо ви хочете отримати початкові коди і встановити програму вручну:

- `git clone https://invent.kde.org/games/kajongg.git`

- У Linux: `cd kajongg ; mkdir build ; cd build; cmake .. && make && make install`

- У Windows: будь ласка, ознайомтеся з вмістом файла `README.windows`

Kajongg залежить від таких пакунків: (назви пакунків у debian наведено у дужках)

- Python 3.8 або новіша версія (python3)

- Qt 6.5 або новіша версія (python3-pyqt6 і python3-pyqt6.qtsvg)

- Прив’язки Python до Qt 6 (python3-pyqt6)

- Бібліотека Python twisted 16.6.0 або новіша версія (python3-twisted)

- sqlite3 (libsqlite3-0)

&documentation.index;