Карты и их стоимость
Козырь
Другие масти
1Сдача и торговля
Если все спасовали, во втором круге каждый может назвать другую масть или спасовать. Сдающий говорит последним и, если все остальные спасовали, обязан выбрать.
2Розыгрыш взятки
Нужно ходить в масть. Если её нет, нужно бить козырем и перебить козырем, если можете, даже когда взятку берёт партнёр. Когда ходят козырем, нужно положить козырь старше, если он есть.
3Комбинации
4Подсчёт раздачи
Это правила столов сайта; в лобби указан регламент каждого стола.
5Турниры
Турнир проходит в одном из четырёх форматов, он указан под названием турнира. Каждый турнир задаёт свои числа, например очки за победу или время на тур: нажмите на формат на странице турнира, чтобы их увидеть.
Круговой
Каждый играет с каждым один раз.
- Всё расписание составляется до 1-го тура и не меняется.
- При нечётном числе игроков или команд каждый пропускает один тур, и он засчитывается ему как победа.
- Партия без победителя считается ничьей.
- Круговой турнир за одним столом на четверых может вместо этого менять партнёров: три тура, ваш партнёр меняется каждый тур, так что с каждым из остальных вы играете один раз в паре и дважды против него.
Кто побеждает. Побеждает тот, у кого больше очков. При равенстве решает их личная встреча, затем разница набранных и пропущенных очков.
Швейцарская
Заданное число туров. В каждом туре вы встречаетесь с тем, у кого столько же очков, сколько у вас, или как можно ближе.
- Вы никогда не встречаетесь с одним и тем же соперником дважды.
- При нечётном числе игроков или команд тур пропускает самый низкий в таблице из тех, кто ещё не пропускал, и тур засчитывается ему как победа. Никто не пропускает дважды.
- Партия без победителя считается ничьей.
Кто побеждает. Побеждает тот, у кого больше очков. При равенстве выше тот, чьи соперники набрали больше, затем тот, у кого выше рейтинг.
На выбывание
На выбывание: выиграли — идёте дальше, проиграли — выбываете.
- Встреча — это одна партия или до двух побед из трёх: дальше проходит тот, кто первым выиграет две.
- Если игроки или команды не заполняют сетку (4, 8, 16…), посеянные выше всех проходят 1-й тур без игры.
- Встреча, закончившаяся вничью, переигрывается в том же туре. Финал, закончившийся вничью, достаётся тому, кто был посеян в сетке выше.
Кто побеждает. Тот, кто выиграет финал.
Лестница
В течение заданного числа дней каждая ваша рейтинговая партия приносит очки.
- Туров нет: играйте из лобби рейтинговые партии в игру турнира, сколько хотите.
- Победа, ничья и поражение приносят очки, заданные турниром. Выход из партии считается поражением; партия без победителя считается ничьей.
- Если вы выйдете из турнира, набранное останется; партии после этого не засчитываются.
Кто побеждает. Побеждает наибольшая сумма. При равенстве выше тот, у кого выше рейтинг.
Во всех форматах с турами
- За столом на четверых вы играете в команде из двух. Команды составляются при жеребьёвке 1-го тура и остаются вместе до конца.
- Когда ваш стол откроется, займите место в течение 3 минут, иначе вы выбываете из турнира.
- У каждого тура есть лимит времени. Партию, не решённую к этому сроку, проигрывают оба игрока или обе команды, если только одна из сторон не явилась вовсе: тогда проигрывает только она.
- Выйти из турнира можно в любой момент: набранное останется, а в пары вас больше не поставят.
6Честная раздача
Карты, которые вам сдают, не выбирает никто, даже Belot Club. Каждую колоду образуют три входных значения, каждое фиксируется раньше, чем становится известно следующее, а после партии любой может проверить каждую раздачу.
Как получается колода
- Прежде чем кто-либо пришлёт сид, сервер выбирает секретный сид для партии и показывает столу его обязательство — SHA-256-хеш сида. Обязательство позже доказывает сид, не раскрывая его сейчас.
- Ваш браузер берёт 16 случайных байт на вашем устройстве и отправляет их как ваш сид — так же делает браузер каждого игрока. Когда они пришли, столу показывают сид каждого места. Место, за которое играет бот, сида не присылает.
- Затем сервер называет раунд drand — публичного маяка случайности, который поддерживают независимые организации и который каждые 3 секунды публикует новое случайное значение: первый раунд после того, как пришли сиды, его значения ещё никто не знает.
- Колода каждой раздачи тасуется из всех трёх значений вместе. Сервер не мог её выбрать, потому что сиды игроков и значение drand пришли после его сида; и никто из игроков не мог, потому что сид сервера никто не видит до конца партии.
Проверка партии
Ваш браузер хранит то, что показывает ему стол, и сам проверяет партию. Когда партия заканчивается, сервер показывает свой сид в чате стола: ваш браузер сверяет его с обязательством, а карты каждой вашей раздачи — с её колодой; для партии, разданной с drand, он сам запрашивает у drand значение раунда и сравнивает его с тем, из которого раздавал сервер. О неудачной проверке стол сообщает сразу. Повтор показывает все входные данные, пересчитывает каждую колоду и сравнивает их с тем, что сохранила вкладка, в которой вы играли, включая ваши карты. Раунд ведёт на собственную страницу drand, где можно сравнить его значение.
Если drand не отвечает
Если значение drand не пришло через 5 секунд после положенного времени, партия раздаётся только из сида сервера и сидов игроков. Стол узнаёт об этом сразу, и повтор об этом говорит.
Точный рецепт
Для тех, кто проверяет своей программой. Раздача k (первая раздача — 0, пересдача тоже считается) читает поток блоков; блок b — это HMAC-SHA256 с ключом из сида сервера над таким сообщением:
| Часть | Байты |
|---|---|
Текст belot.club/deal/v1 | 18 |
| Номер раздачи k, с 0 | 4, big-endian |
| Номер блока b, с 0 | 4, big-endian |
| Число игроков | 1 |
| Для каждого места по порядку: длина его сида (0 или 16), затем сам сид | 1 + 0 или 16 |
| Раунд drand, 0 без drand | 8, big-endian |
| Значение drand, нули без drand | 32 |
32 карты начинают по порядку: трефы, бубны, черви, пики, каждая масть от 7 до туза. Для каждой позиции i от 31 вниз до 1 возьмите следующий байт потока x; пока x ≥ 256 − (256 mod (i + 1)), берите следующий, чтобы все позиции были равновероятны; затем поменяйте местами позицию i и позицию x mod (i + 1). При колоде из 24 карт семёрки и восьмёрки затем откладываются, а остальные сохраняют свой порядок.