natgillin/translations-raw huggingface dataset:
When starting a new game, you will be able to select a ruleset for that game. All rulesets defined in the ruleset editor can be used. The ruleset is saved together with the game, so you can always change rulesets here - your changes will only affect future games.
На початку нової гри ви зможете обрати набір правил, за якими вона вестиметься. Можна використовувати будь- який набір правил з визначених у редакторі наборів правил. Набір правил зберігається разом з грою, отже ви завжди зможете змінити набори правил, але внесені вами зміни стосуватимуться лише наступних ігор.
Copy and Remove
Копіювання і вилучення
You can copy entire rulesets or single rules within a ruleset. Since predefined rulesets are immutable, single rules can only be copied within customized rulesets.
Ви можете скопіювати весь набір правил або окремі правила у певному наборі. Оскільки попередньо визначені правила змінювати не можна, ви можете лише скопіювати окремі правила до створених вами змінених наборів правил.
You can remove entire customized rulesets or single rules within them. Again this can even be done if existing games use this ruleset since every game has its own ruleset copy. You can view rulesets for old games: Load the old game and show its score table.
Ви можете вилучати змінені набори правил або окремі правила у наборах. Знову ж таки, ви можете робити це, навіть якщо існують ігри, які використовують змінений набір правил, оскільки у кожній з ігор міститься власна копію правил, за якими вона ведеться. Ви можете переглянути набори правил для попередніх ігор: завантажте попередню гру і накажіть програмі показати таблицю з її рахунком.
Name, Score and Unit
Назва, рахунок і одиниця
Simply double click on whatever you want to change.
Просто наведіть вказівник на пункт, який ви бажаєте змінити, і двічі клацніть лівою кнопкою миші.
Definition
Визначення
The definition for a rule can be rather complex. There is a separate chapter Defining a Rule for this. You will normally not have to change a definition. This essentially defines to what hands the rule applies.
Визначення правила може бути досить складним, цьому питанню присвячено окрему главу з назвою Визначення правила. Зазвичай, змінювати визначення правила не потрібно. Загалом кажучи, визначення вказує на комбінації, яких стосується правило.
The menu entry Settings Configure Shortcuts... allows you to change the default keyboard bindings.
Пункт меню Параметри Налаштувати скорочення... надає вам змогу змінити типові клавіатурні скорочення.
The default keybindings are as follows:
Типовими клавіатурними скороченнями є:
Score a manual game.
Обчислення рахунку гри справжніми плитками.
Play a game with other people or computer players.
Грати у гру з іншими людьми або комп’ ютерними гравцями.
Abort the current game.
Перервати поточну гру.
Quit the program.
Завершити роботу програми.
Show the score table.
Показує таблицю результатів.
Change the viewing angle.
Змінює кут перегляду.
Defining a Rule
Визначення правила
The scoring engine and many other aspects of & kajongg; can be customized with the ruleset editor. A rule consists of a name, a score (including its unit) and a definition.
Рушій обчислення рахунків та багато інших параметрів & kajongg; можна змінити за допомогою редактора наборів правил. Запис правила складається з його назви, рахунку (зокрема одиниці обчислення) та визначення.
Rule Groups
Групи правил
There are several groups of rules:
Існує декілька груп правил:
Meld Rules
Правила комбінування
Meld rules are applied to single melds independent of the rest of the hand.
Правила комбінування застосовуються до окремих комбінацій незалежно від решти комбінації
Hand Rules
Правила комбінацій
Hand rules are applied to the entire hand, for all players.
Правила комбінації застосовуються до всієї комбінації для всіх гравців
Mah Jongg Rules
Правила маджонґ
Mah Jongg rules specify how a winnable hand has to look like. This is normally four melds with 3 or 4 tiles each and a pair. But special hands may look differently, for example the 13 Orphans in Classical Chinese.
Правила маджонґ регламентують виграшні комбінації. Зазвичай, така комбінації складається з чотирьох з’ єднань по 3 або 4 плитки та пари плиток. Але передбачено і особливі комбінації з іншими наборами плиток, наприклад, 13 сиріт у класичних китайських правилах.
Winner Rules
Правила перемоги
Winner rules are applied to the entire hand but only for the winner. This includes most special hands. Those rules do not have to enforce the correct number of tiles.
Правила переможця застосовуються до всієї комбінації, але лише для переможця. Це стосується більшості особливих комбінацій. Такі правила не повинні визначати точку кількість плиток.
Manual Rules
Правила, вказані вручну
Manual rules are applied manually by the user. We would prefer to live without them but sometimes the program has not yet enough information or is not intelligent enough to automatically apply them when appropriate.
Правила, вказані вручну, застосовуються користувачем вручну. Краще було б обійтися без них, але іноді програма ще не має достатньо даних або недостатньо кмітлива, щоб автоматично застосувати правила у разі потреби.
Here you can find several special parameters like points for a limit hand.
Тут ви знайдете декілька спеціальних параметрів, зокрема параметрів очок обмеження комбінації.
Penalties are applied manually by the user.
Штрафи застосовуються користувачем вручну
Order of Execution
Порядок виконання
build a list of applicable rules from meld rules and hand rules
побудова списку правил, починаючи з правил комбінування і правил комбінацій
using the Mah Jongg rules find out if the declared winner hand is really a winner hand.
використання правил маджонґ для перевірки, чи є проголошена переможцем комбінації переможною насправді.
for the winner append applicable winner rules
додавання правил переможця для переможця
if some of the found rules have the action'absolute ', only keep those. It is yet undefined what happens if more than one is found.
якщо якісь зі знайдених правил мають позначку дії « абсолютна », зберегти лише ці правила. У поточній версії поведінку програми у разі виявлення декількох таких правил ще не визначено.
if some of the rules define limits, throw away all others
якщо якісь з правил визначають обмеження, відкинути решту
apply the found rules in that order
застосування всіх знайдених правил у відповідному порядку
The Definition
Визначення
The definition is one single string because we want to make it easy to save it in a data base. It consists of several parts separated by the two characters "_BAR__BAR_". A part expresses either a condition under which the rule applies or it expresses some actions. Only one part for actions may be defined, but several condition expressions. The rule applies as soon as at least one condition expression matches the hand.
Визначення складається з одного рядка, оскільки автори програми бажали спростити збереження його у базі даних. Визначення складається з декількох частин, відокремлених парою символів « _BAR__BAR_ ». Кожна з частин визначає або умову застосування правила або вказує на певні дії. Для однієї дії можна використовувати лише одну частину, але частин умов може бути декілька. Правило буде застосовано, якщо для комбінації виконується принаймні одна з умов.
& kajongg; comes with a predefined ruleset implementing the Classical Chinese rules as defined by the German DMJL. That should give you a lot of examples.
& kajongg; постачається з попередньо визначеним набором правил, який реалізує класичні китайські правила, визначені німецькою DMJL. У цих наборах ви знайдете багато прикладів.
These are all recognized parts:
Ось всі частини, які розпізнає програма:
A part not starting with I or A is a Regular Expression.
Частина, яка не починається з I або A, є формальним виразом.
Variable Case Regular Expression
Зміна регістру літер у формальному виразі
A part starting with I is a Regular Expression making no difference between upper/ lowercase.
Частина, що починається з I є формальним виразом без врахування регістру символів виразу.
A part starting with A is a list of Actions.
Частина, що починається з A, є списком дій (Actions).
Regular Expressions
Формальними виразами
Regular expressions are a very powerful programming tool for matching strings of characters. Powerful but also quite difficult. This is not for the normal game player. There are books available which do nothing else but explain regular expressions.
Формальні вирази — це дуже потужний інструмент програмування відповідності рядків з символів. Потужний, але досить складний. Він заскладний для рядового гравця. Про формальні вирази написано цілі грубі книжки.
There are several dialects of regular expressions. & kajongg; is written in the programming language Python. Since the Python standard library contains a module for regular expressions, this is the dialect we use. For details see
Існує декілька діалектів формальних виразів. & kajongg; написано мовою програмування Python. Оскільки стандартна бібліотека Python містить модуль для роботи з формальними виразами, автори програми скористалися саме цим модулем. Докладніше про відповідний діалект можна дізнатися за цією адресою:
Everything about a hand that might have an influence on the score is encoded in one single string. Then & kajongg; checks if the regular expression matches this string. If it does, the rule is applied.
Всі дані щодо комбінацій, які можуть вплинути на рахунок має бути закодовано у єдиному рядку. Після цього & kajongg; перевірятиме відповідність рядка формальному виразу. Якщо рядок відповідатиме формальному виразу, буде застосовано правило.
As an example, this regular expression matches the limit hand "All Greens":
Ось приклад (наведений формальний вираз відповідає граничній комбінації « Всі зелені »):
Structure of a Hand String
Структура рядка комбінації
The content of a hand string is always the same no matter what language you use on your desktop.
Вміст рядка комбінації не залежатиме від мови, якою ви користуєтеся у програмах стільничного середовища.
The string representing a hand consists of several parts separated by a space. The order of those parts is always the same except for the meld parts at the beginning.
Рядок, що відповідає комбінації, що складається з декількох частин, відокремлених пробілами. Порядок цих частин завжди однаковий, окрім частин комбінацій на початку.
& kajongg; is able to regroup concealed tiles into melds aiming to get a higher score. It does not matter how the concealed tiles are grouped for this to work. However when it comes to limit hands this might fail. That is why & kajongg; will try the original grouping of tiles as entered by the user and also the regrouped tiles. For both variants, all rules are applied. The variant achieving the higher total score is used.
Програма & kajongg; здатна впорядковувати приховані плитки у групи для того, щоб підвищити цінність комбінації. Початкове впорядкування прихованих плиток не вплине на результати роботи програми. Але за умови обмеження комбінацій подібне перевпорядкування може і не спрацювати. Ось чому спочатку & kajongg; виконує обчислення за впорядкуванням, вказаним користувачем, а вже потім намагається перевпорядкувати плитки. У обох варіантах буде застосовано всі правила. Програма використає варіант з найвищим загальним рахунком.
Here comes an example. This is really only one line but split here for better readability. Moreover this sentence is repeated once because some regular expressions are much easier to write if the parts can be referenced in another order. See the rule for Robbing the Kong: Its regular expression first looks at the L group (Last Tile) before looking at the melds.
Тут наведено приклад. Насправді наведено один рядок, але його розбито на декілька рядків для того, щоб його легше було читати. Крім того, рядок один раз повторено, оскільки деякі з формальних виразів набагато простіше записати, якщо порядок їх частин буде змінено. Прикладом є правило пограбування конгу: використання його формального виразу призводить до пошуку спочатку групи L (остання плитка або Last Tile), а вже потім до пошуку комбінацій.
A tile is represented by 2 characters. The first one is s for stone, b for bamboo, c for character, w for wind, d for dragon, y for season bonus, f for flower bonus. The second one is 1..9 for the suits, e, s, w, n for the winds, w, r, g for the dragons (white, red, green) and 1,2,3,4 for the bonus tiles. Exposed tiles have the first character in lowercase, concealed tiles have it in uppercase.
Кожна плитка складається з 2 символів. Першим з них є s — камінь, b — бамбук, c — символ, w — вітер, d — дракон, y — бонус пори року, f — бонус квітки. Другим є 1.. 9 — масті, e, s, w, n — вітри, w, r, g — дракони (білий, червоний, зелений) і 1, 2, 3, 4 — бонусні плитки. Перший символ відкритих плиток є літерою у нижньому регістрі, приховані плитки позначаються літерами верхнього регістру.
All the following parts are always present in this order except the part "Last Tile": This one exists only for the winner hand.
У цьому порядку завжди, окрім частини « Остання плитка », яка існує лише у комбінації переможця, присутні наведені нижче частини.
Meld
Комбінація
The part starting with any of the characters sbcdwSBCDW is a meld. A meld holds any number of tiles. & kajongg; will split melds with too many tiles trying to maximize the score.
Частина, що починається з будь- якого з символів рядка sbcdwSBCDW є групою. У групі міститься будь- яка кількість плиток. & kajongg; розбиватиме групи з завеликою кількістю плиток, щоб якомога збільшити рахунок гравця.
We use a special syntax for kongs: c1c1c1c1 is an open kong. c1c1c1C1 is an open kong, 4th tile was called for, completing a concealed pung. This is needed for the limit game'concealed true color game '. c1C1C1c1 is a concealed declared kong. C1C1C1C1 would be a concealed undeclared kong. But since it is undeclared, it is counted as a pung. So this meld will be split into pung C1C1C1 and single C1.
Для конгів було використано особливий синтаксис: c1c1c1c1 — відкритий конг. c1c1c1C1 — відкритий конг, четверту плитку було оголошено, вона завершила прихований панг. Подібний синтаксис потрібен для гри з обмеженням « гра з прихованим справжнім кольором ». c1C1C1c1 — прихований оголошений конг. C1C1C1C1 — прихований неоголошений конг. Але, оскільки конг не було оголошено, він вважатиметься пангом. Отже, цю групу буде розбито на панг C1C1C1 і окрему плитку C1.
Bonus tiles appear after all other melds.
Бонусні плитки слід вказувати після всіх інших комбінацій.
Summary
Резюме
The part starting with / holds summary information about the melds. This makes it easier to write some regular expressions. Every meld is represented by four characters. The first character is one out of sbcdwSBCDW, again lowercase for exposed and uppercase for concealed. The second character is a number saying how many tiles the meld holds. This is 1 up to 4 for a kong. The 0 is used for a chow. The last two characters hold the value of this meld.
Частина, що починається з символу / містить резюме щодо груп. За допомогою цієї частини простіше записувати деякі з формальних виразів. Кожній групі відповідає чотири символи. Перший символ — це один з символів рядка sbcdwSBCDW, знову ж таки, літерами нижнього регістру відповідають відкриті, а верхнього — приховані. Другий символ позначає кількість плиток у групі. Значення від 1 до 4 визначають конг. Значення 0 відповідає чоу. Останні два символи вказують на вартість цієї групи.
Alternate summary
Альтернативний підсумок
The part starting with - is identical to the above summary but it contains claimed kongs as concealed kongs. Some rules like "Three Concealed Pongs" treat a claimed kong as being concealed.
Ця частина, що починається з « - », тотожня до попереднього резюме, але містить проголошені конги як приховані. За використання деяких з правил, зокрема « Три приховані понги », проголошені конги вважаються прихованими.
Hand length
Довжина комбінації
The part starting with% holds information about the length of the hand: s is a short hand having too few tiles, n is a hand with the correct number of tiles, l is a long hand having too many tiles.
Ця частина починається з% і містить дані щодо довжини комбінації: s — коротка комбінація, у якій занадто мало плиток, n — точна кількість плиток, l — довга комбінація з багатьма плитками.
Mah Jongg
Маджонґ
The part starting with m or M holds additional information. M stands for the winner hand, m for a loser hand. M/ m is followed by one character for the own wind, one character for the prevailing wind, one character for the source of the last tile leading to Mah Jongg, one character for the declarations a player made.
Частина, що починається з літери m або M містить додаткові відомості. M позначає комбінацію переможця, а m — невдахи. Символ після M/ m вказує на власний вітер гравця, наступний — переважний вітер гравця, наступний — джерело останньої плитки, що призвела до утворення маджонґу (виграшу) і ще один символ — оголошення, які було зроблено гравцем.
These are the possible sources of the last tile: w=wall, d=discarded, e=dead end, z=last tile of living end, Z=last tile of living end, discarded, k=robbing the kong, 1=blessing of heaven/ earth. The values w and d are special - they are sort of intermediate values. By choosing a concealed tile as last tile, the source is set to w. Next, several rules say that they apply only if the last tile comes from the wall. So this allows for a better preselection of actually applicable manual rules. For a better understanding, please look at the manual rules and read up about the action lastsource.
Це можливі походження останньої плитки: w=wall (стіна), d=discarded (викинута плитка), e=dead end (заблокований кінець), z=last tile of living end (остання плитка з незаблокованого кінця), Z=last tile of living end, discarded (остання плитка з незаблокованого кінця, відкинута), k=robbing the kong (пограбування конгу), 1=blessing of heaven/ earth (благословення небес/ землі). Значення « w » і « d » є особливими — вони є різновидом проміжних значень. Якщо останньою плиткою буде обрано приховану плитку, значенням походження буде w. Крім того, деякі з правил застосовуються, лише якщо плитка походить зі стіни. Отже за допомогою визначення походження можна звузити перелік застосовних правил, що задаються вручну. Щоб зрозуміти це краще, будь ласка, прочитайте про правила, що задаються вручну, та про дію lastsource.
These are the possible declarations: a=call at beginning.
Ось можливі оголошення: a=оголошення на початку.
Last Tile
Попередня плитка
The part starting with L holds information about the last tile. It contains the last tile itself, followed by the meld that was completed with the last tile. We need this last meld for the rule "Last Tile is the Only Possible" because sometimes knowing only the last tile is not sufficient. Note that the last meld cannot be a Kong because if it completes a Kong you have to draw a replacement tile.
Частина, що починається літерою L, містить дані щодо останньої плитки. Вона містить символ останньої плитки, за яким слідує назва групи, яку було завершено останньою плиткою. Остання група потрібна для правила « Остання плитка є єдиною можливою », оскільки іноді одного знання останньої плитки виявляється недостатньо. Зауважте, що останньою групою не може бути конг, оскільки, якщо вона завершує конг, вам доведеться брати плитку- замінник.
Calling Limit Hand
Комбінація з перевищенням кількості оголошень
This is not yet implemented but might be needed for rules like defined by the BMJA (in England). A part starting with K holds all possible tiles to be checked for if we give points for a calling limit hand. We could use brute force and check with every tile but that might take too much time.
Цю можливість ще не реалізовано, але вона може знадобитися для правил, подібних до визначених BMJA (у Англії). Частина, що починається літерою « K » містить перелік всіх плиток, які слід перевірити для обчислення очок для комбінації з перевищенням кількості оголошень. Можна, звичайно, скористатися простим перебором, але це потребуватиме забагато машинного часу.
All actions for a rule are defined in one string. They are separated by spaces. Some of them define a value.
Всі дії правила визначаються одним рядком. Окремі дії відокремлюються пробілами. Деякі з них визначаються числовими значеннями.
The player did something very nasty, so she must pay for all. Yet this is not a penalty since the sum of payments is the same - only the payer changes. Also, the two payers not involved do not exchange payments.
Гравець зробив щось дуже підступне, отже має розплатитися за всіх. Це не штраф, оскільки сума сплат не змінюється, — змінюється лише гравець, який сплачуватиме. Крім того, інші два гравці (окрім переможця і невдахи) нічого не обмінюються сплатами взагалі.
Defines how many payers this penalty rule implies. X is a number.
Визначає кількість платників, яких стосується це правило штрафу. X має бути числом.
Defines how many payees this penalty rule implies. X is a number.
Визначає кількість отримувачів, яких стосується це правило штрафу. X має бути числом.
This action defines an absolute payment. The hand score is ignored. Used for penalty rules.
Ця дія визначає абсолютну суму сплати. Рахунок комбінації буде проігноровано. Використовується для правил штрафів.
This action defines the source of the last tile. Used by manual rules like "last tile from dead end". Setting the last source with this action serves as a filter for other rules - if they trigger only for certain sources. Those other rules can of course also be manual rules. So this filtering will narrow down the amount of manual rules the user gets shown in the scoring dialog. If this seems complicated, just play around with the scoring dialog and watch checkboxes appear and disappear depending on the source of the last tile.
Ця дія визначає походження останньої плитки. Використовується у правилах, заданих вручну, зокрема « остання плитка з заблокованого кінця ». Встановлення походження останньої плитки є фільтром для інших правил, якщо їх слід задіяти лише за умови певного походження плитки. Звичайно ж, інші правила також можуть бути правилами, визначеними вручну. За допомогою цього правила можна зменшити кількість правил, які буде показано користувачеві у діалоговому вікні результатів. Якщо це пояснення видається вам незрозумілим, просто пограйтеся з діалоговим вікном результатів, щоб зрозуміти причину появи або зникнення полів цього діалогового вікна залежно від походження останньої плитки.
Known problems
Відомі проблеми
It is not yet possible for the player herself to open an account on the game server.
У поточній версії гравці не можуть самі створювати облікові записи на сервері гри.
In playing mode, penalties are not yet possible.
У режимі гри не передбачено штрафів.
The computer players are still rather stupid.
Комп’ ютерні гравці все ще грають доволі слабко.
The names of the computer players are not yet customizable.
Не можна змінювати імена комп’ ютерних гравців.
Computer games cannot yet be resumed.
Не можна поновлювати ігри з комп’ ютерними гравцями.
Possible future features
Можливі майбутні можливості
Add more rulesets. This should optionally be done by people using those rulesets regularly.
Додавання власних наборів правил. Цією можливістю можуть скористатися гравці, які користуються цими правилами регулярно.
Add sounds. The calls "Chow" & etc; should be played, also what tiles are discarded. Define standard sounds, but also make it possible for the player to record her own voice.
Додавання звуків. Проголошення чоу тощо має бути озвучено, як і викидання плиток. Визначення стандартних звуків, а також можливість запису гравцями власних голосів.
Can I use the keyboard to assign tiles to players?
Чи можна скористатися клавіатурою для призначення плиток гравцям?
Yes. See Have kajongg compute the score
Так. Див. розділ Обчислення рахунка за допомогою kajongg
I mailed a bug or wish, but it was never received
Мною було надіслано повідомлення про ваду або побажання, але його так і не отримали.