Как проверить кубики в коротких нардах: разбор матча по логу
В коротких нардах один вовремя выпавший дубль способен перевернуть партию, и после обидного поражения так и тянет заподозрить генератор. На Bkgm.ru подозрение можно проверить буквально: броски матча записаны до первого хода, а после игры у вас есть всё, чтобы сверить их с каждым сделанным ходом. Покажем, как это делается, на примере лога из справки игры.
Конверт, запечатанный до игры
Контроль честности устроен по принципу запечатанного конверта. Перед матчем криптографический генератор случайных чисел создаёт две строки бросков — по одной на каждого игрока. Строки упаковываются в архив, закрытый паролем, и этот архив можно скачать ещё до первого хода.
Пароль открывается только после последней партии матча: сервер присылает его в окно результатов, и он одинаков для обоих соперников. Пока идёт матч, заглянуть в будущие броски не может никто из игроков, а подменить их не может и сервер — архив уже лежит у вас.

Почему сервер не выбирает, какой бросок кому достанется
Сами строки сервер знает. Но с какого места их читать, решают игроки: перед стартом каждый выбирает смещение от 1 до 5. Выбор соперника виден сразу, а за несколько секунд до начала числа фиксируются.
Номер первой пары в строке игрока считается так:
Начало = (смещение игрока − 1) × 2 + смещение соперника

Что понадобится для проверки
Строки к этому моменту уже в архиве, а точку отсчёта задают двое игроков. Подогнать удачные броски под одного из них нельзя — и это можно проверить самому.
После матча в окне результатов есть блок контроля честности. В нём копируется пароль от архива и скачивается лог матча — запись всех партий ход за ходом. Дальше нужен только архиватор.


Шаг 1. Открываем архив
В архиве с номером матча лежит текстовый файл с тем же номером. Внутри две строки — изначальные последовательности белых и чёрных. В нашем примере они начинаются так:
Белые: 5:1 1:1 2:4 5:2 6:2 4:3 4:5 4:5 3:1 6:1 5:1 3:4 … Чёрные: 4:1 5:4 5:2 6:3 6:3 3:5 2:2 1:5 6:4 6:1 3:5 4:2 …
Шаг 2. Находим смещения
Смещения записаны в заголовке каждой партии лога, в строке вида «Start dice: white(2) black(1)»: белые выбрали 2, чёрные — 1. Считаем начало каждой строки:
- Белые: (2 − 1) × 2 + 1 = 3 — строка белых начинается с третьей пары, 2:4.
- Чёрные: (1 − 1) × 2 + 2 = 2 — строка чёрных начинается со второй пары, 5:4.

Шаг 3. Разыгрываем первый ход
Кто начинает, решают первые числа найденных пар: у белых 2, у чёрных 5. Побеждают чёрные. Как и положено в коротких нардах, первый ход они делают числами розыгрыша — двойкой и пятёркой. В логе это первая запись справа: «25: 24/22 8/3» — шашка с 24-го пункта на 22-й и с 8-го на 3-й.
Если бы числа совпали, сравнили бы следующие пары — и так до тех пор, пока не определится победитель.
Шаг 4. Сверяем броски
Дальше каждый бросок — следующая пара своей строки, по порядку. Запись в логе читается просто: «52: 13/8 8/6» означает, что выпали 5 и 2, а шашки прошли с 13-го пункта на 8-й и с 8-го на 6-й. Ставим рядом архив и лог:
| Ход | Белые: архив → лог | Чёрные: архив → лог |
|---|---|---|
| 1 | 5:2 → 52 | 5:2 → 52 |
| 2 | 6:2 → 62 | 6:3 → 63 |
| 3 | 4:3 → 43 | 6:3 → 63 |
| 4 | 4:5 → 45 | 3:5 → 35 |
| 5 | 4:5 → 45 | 2:2 → 22 |
| 6 | 3:1 → 31 | 1:5 → 15 |
Что это доказывает — и чего нет
Все пары совпали. Значит, последовательности не менялись по ходу матча, а точку отсчёта выбрали сами игроки. Если хоть одна пара не сойдётся, у вас на руках будут все доказательства: архив, пароль и лог.
Случайность проверка не отменяет. Дубль выпадает в среднем раз в шесть бросков, и в коротких нардах, где шашки бьют, удачный дубль соперника в нужный момент может решить партию. Это не подыгрывание, а та самая неопределённость, ради которой в нарды и садятся играть.

