Генератор ротации на любое число игроков

Девять человек и два корта. Пятеро и один. Тринадцать и три. Здесь считается ротация для составов, которые не делятся ровно: кто играет, кто отдыхает и в каком порядке — чтобы вечер шёл без арифметики на салфетке.

Игроки
9
Корты
2
Раунды
6
На кортах одновременно 8, отдыхают 1.
Вписать настоящие имена вместо Player 1, 2, 3…

Проблема неудобного состава

На корт нужны четверо. Группы четвёрками не приходят. При девяти игроках на двух кортах каждый раунд кто-то сидит, и настоящий вопрос организатора не «кто играет», а «кто уже отдыхал и чья теперь очередь».

Если это вести на глаз, со стороны всегда смотрит один и тот же тихий человек. Генератор считает отдых по каждому и раскидывает его: за шесть раундов на девятерых каждый отдыхает один-два раза, а не трижды, пока кто-то другой не отдыхает вовсе.

Тем же проходом решаются пары: двоих не поставят вместе снова, пока есть неиспользованная пара, а пару предыдущего раунда не повторят вообще.

Работает и на одном корте, и на восьми, а сама ротация не привязана к формату: считайте по ней американо, обычный падел до шести геймов или играйте вовсе без счёта.

О чём спрашивают организаторы

Что делать с пятью, шестью или семью игроками на одном корте?
Четверо играют, остальные отдыхают и входят по очереди. На пятерых за шесть раундов каждый пропускает один-два раза. Поставьте 5 игроков и 1 корт — и получите порядок.
Как сделать, чтобы не отдыхали одни и те же?
Генератор помнит, сколько раз кто отдыхал, и выбирает тех, кто отдыхал меньше. Это правило самой раздачи, а не то, что организатор должен держать в голове посреди вечера.
А если пары постоянные?
Этот инструмент не про это: он для ротации, где партнёр меняется. Для постоянных пар нужен командный формат, где в таблице места занимают пары, а не люди.
Работает на одном корте?
Да. Один корт и четыре-восемь человек — самый частый случай: сняли час и хотят, чтобы вышли все.

Дальше