joker.
Ваше место за столом.
# Joker Game Rules (Source of Truth)
Статус: active
Дата фиксации: 2026-02-25
Этот файл — основной источник правил игры.
Любая реализация (backend, frontend, AI, тесты) должна соответствовать этому документу.
Если код противоречит этому файлу, правильным считается этот файл.
## 1. Общая информация
### 1.1. Игроки
- Играют 4 игрока.
- Направление игры: по часовой стрелке.
### 1.2. Цель
- Набрать максимум очков по итогам всей партии.
## 2. Колода
### 2.1. Состав колоды
- Используется колода 36 карт, но модифицированная.
- Берётся стандартная 36-карточная колода (6–Туз).
- Из неё убираются две чёрные шестёрки: `6♠` и `6♣`.
- Вместо них добавляются 2 джокера.
- Итого: 36 карт.
### 2.2. Старшинство карт
- В обычных взятках старшинство в масти:
- `6 < 7 < 8 < 9 < 10 < Валет < Дама < Король < Туз`
- (кроме удалённых `6♠` и `6♣`).
## 3. Структура партии и разделы
- Партия состоит из 4 разделов.
### Раздел A — лесенка вверх (8 раундов)
- `1 → 2 → 3 → 4 → 5 → 6 → 7 → 8`
### Раздел B — плато (4 раунда)
- `9 → 9 → 9 → 9`
### Раздел C — лесенка вниз (8 раундов)
- `8 → 7 → 6 → 5 → 4 → 3 → 2 → 1`
### Раздел D — плато (4 раунда)
- `9 → 9 → 9 → 9`
- Итого: 24 раунда.
- После каждого раздела считается премия (см. раздел 11).
## 4. Определение первого сдающего (старт партии)
- Перед первым раундом:
- Колода тасуется.
- Карты раздаются по одной по кругу.
- Тот игрок, которому первым при раздаче попался Туз, становится первым сдающим.
Важно: «первым» означает именно первый Туз, который вышел по ходу раздачи, а не «у кого больше тузов».
## 5. Сдающий, первый заказ и первый ход
### 5.1. Кто сдаёт
- В каждом раунде есть сдающий.
- Сдающий меняется по кругу по часовой стрелке.
### 5.2. Кто первым заказывает и ходит
- Игрок, сидящий после сдающего (слева от сдающего, следующий по часовой стрелке):
- делает первый заказ в раунде,
- делает первый ход в первой взятке раунда.
## 6. Заказ взяток (ставка)
### 6.1. Что такое заказ
- Перед розыгрышем игроки говорят, сколько взяток они планируют взять в этом раунде.
- Можно заказать `0` — это пас.
### 6.2. Ограничение суммы заказов
- Сумма всех заказов не должна равняться числу взяток в раунде (то есть числу карт на руках у каждого игрока).
- Следствие:
- последний по очереди заказов игрок не может назвать число, которое сделает сумму заказов равной числу взяток.
## 7. Козырь и бескозырка
Есть два типа раундов: лесенка и плато (девятки).
### 7.1. Лесенка (раунды 1–8 и 8–1): козырь по последней неразданной карте
Порядок:
- Сдающий раздаёт каждому игроку нужное количество карт (`1…8`).
- В колоде остаётся одна последняя неразданная карта.
- Эта карта кладётся рубашкой вниз так, чтобы все видели её как отдельную карту.
- Затем она открывается:
- если это обычная карта → её масть становится козырем,
- если это джокер → раунд играется без козыря (бескозырка).
### 7.2. Плато (раунды 9×4): козырь заказывает первый после сдающего после своей 3-й карты
Так как `9 карт × 4 игрока = 36`, раздаётся вся колода, «последней карты» нет.
Порядок раздачи и назначения козыря:
- Сдающий раздаёт карты как обычно: по одной по кругу, начиная с игрока слева от сдающего.
- После того как игрок слева от сдающего получает свою третью карту, раздача останавливается.
- Этот игрок смотрит свои 3 карты и объявляет:
- козырную масть (любую), или
- бескозырку.
- После объявления раздача продолжается обычным образом до 9 карт каждому.
Примечания:
- Остальные игроки к этому моменту тоже уже имеют по 3 карты.
- Переобъявлять козырь нельзя.
## 8. Правила взятки (как определяется победитель взятки)
### 8.1. Обязанность по масти
Если вы не ходите первым во взятке, вы обязаны:
- Если есть масть хода — положить карту этой масти.
- Если масти хода нет — если есть козырь, вы обязаны положить козырь.
- Если нет ни масти хода, ни козыря — можно положить любую карту.
### 8.2. Кто забирает взятку
- В козырном раунде: любая козырная карта старше любой некозырной.
- Если козырей нет (бескозырка): побеждает старшая карта масти хода.
- Старшинство внутри масти — стандартное (`6…Туз`).
Победитель взятки:
- забирает взятку,
- делает первый ход в следующей взятке.
## 9. Джокер — все варианты использования
Джокер — особая карта. Его можно:
### 9.1. Побить джокером
- Положить джокер в ответ на ход или на козырь (то есть использовать как «сильную» карту).
### 9.2. Подложить джокер (отдать взятку)
- Джокер разрешено положить так, чтобы не забирать взятку, то есть «сбросить» его и фактически отдать взятку другому игроку.
- Это отдельное правило данной версии: джокер не обязан быть «обязательно берущим».
### 9.3. Ход джокером первым: объявление режима
Если игрок ходит первым во взятке и кладёт джокер, он может объявить один из двух режимов.
#### Режим A: «Хочу забрать [масть]»
- Игрок объявляет масть, которую хочет получить/забрать (например: «хочу козырь», «хочу буби», «хочу крести»).
- Тогда для остальных:
- если есть объявленная масть, обязаны положить самую старшую карту этой масти,
- если объявленной масти нет — при наличии козыря обязаны положить козырь,
- если нет козыря — любую карту.
- отдельное правило: если у игрока есть джокер, он может сыграть джокер вместо обычной карты (как `strong` — побить, или как `weak` — подсунуть).
Победитель взятки:
- если кто-то положил козырь → козырь забирает,
- иначе побеждает старшая карта объявленной масти.
#### Режим Б: «Хочу отдать [масть]» (пропустить)
- Игрок объявляет масть, которой он хочет «отдать» взятку (например: «берёт козырь», «берёт буби», «берёт крести»).
- Дальше логика выкладки карт для остальных такая же:
- кладут объявленную масть,
- если масти нет — кладут козырь,
- если нет козыря — любую.
Победитель:
- если положен козырь (потому что нужной масти у кого-то не было) → козырь забирает,
- иначе забирает старшая карта объявленной масти.
Ключевое уточнение (общее для обоих режимов):
- Если объявили масть, а у игрока её нет, но есть козырь — он обязан класть козырь, и козырь в таком случае забирает взятку.
## 10. Система подсчёта очков за раунд
Очки начисляются после каждого раунда (как базовый счёт), а премия считается отдельно между разделами.
Ниже — единый приоритет (важно, чтобы не было конфликтов).
### 10.1. Приоритет правил начисления
Проверяется сверху вниз, срабатывает первое подходящее:
1. Штанга
- Если заказ `> 0`, а игрок взял `0` взяток:
- `−200`
2. Пас выполнен
- Если заказ `= 0` и взял `0`:
- `+50`
3. Взял все взятки раунда
- Если игрок заказал все взятки раунда (`N`) и взял все взятки (`N из N`):
- `N × 100` (`1→100, 2→200, …, 9→900`)
- Если заказ был меньше `N` (в том числе `0`), это считается невыполнением заказа и оценивается по правилу 5 (`взято × 10`).
4. Выполнил заказ точно (но не «всё»)
- Если взял ровно столько, сколько заказал:
- `100 + (заказ − 1) × 50` (`1→100, 2→150, 3→200, …`)
5. Недобор или перебор
- Если заказ не выполнен, но взятки есть:
- `взято × 10`
Примеры:
- заказ `2`, взял `1` → `10`
- заказ `3`, взял `2` → `20`
- заказ `2`, взял `3` → `30`
- заказ `1`, взял `2` → `20`
## 11. Премия между разделами
- Премия считается после каждого раздела (после A, после B, после C, после D).
### 11.1. Условие выхода на премию
Игрок выходит на премию в разделе, если в рамках этого раздела он:
- в каждом раунде раздела точно выполнил свой заказ,
- включая пас (`0` взяток при заказе `0`).
Любой недобор, перебор или штанга в одном из раундов раздела = не вышел на премию.
### 11.2. Что такое MAX в разделе
Для каждого игрока в разделе берётся:
- `MAX = максимальное количество ПОЛОЖИТЕЛЬНЫХ очков, полученных игроком за один раунд этого раздела`.
Уточнения:
- MAX считается только по положительным значениям (например, `−200` не рассматриваем как MAX).
- Если у игрока в разделе вообще не было положительных очков (теоретически возможно) — тогда `MAX=0`.
### 11.3. Применение премии
Пусть:
- `W` — игроки, вышедшие на премию,
- `L` — не вышедшие.
Если `W` пустое:
- Никаких изменений, премия не применяется.
Если `W` не пустое:
- Каждый игрок из `W`: получает `+MAX` (удваивает свой максимум).
- Каждый игрок из `L`: получает `−MAX` (его максимум снимается/аннулируется).
Важно:
- Если премиальных 2 или 3 — они не списывают друг с друга, только удваивают свои MAX.
- «Списанные» очки никуда не переходят, просто исчезают.
## 12. Конец игры
- После завершения всех 24 раундов и применения премии после последнего раздела:
- суммируются все очки,
- игрок с максимальным счётом — победитель.
## 13. Changelog правил
- 2026-02-25: добавлены полные правила партии (базовый канон проекта).
## 14. Технические допущения прототипа v1
- Эти пункты нужны только для текущего прототипа и могут быть изменены отдельной правкой правил.
- Если во взятке сыграны несколько «сильных» джокеров, взятку забирает последний из них.
- В раундах на 9 карт (плато) козырь выбирает именно игрок слева от сдающего после получения своей 3-й карты.
- В веб-прототипе, если этим игроком является человек, показываются его первые 3 карты и кнопки выбора: `♥`, `♦`, `♣`, `♠` или `без козыря`.
- Если выбирающий игрок — бот, выбор делает AI-эвристика по этим же 3 картам.