v2 - вторая версия кубковой системы. Т.е. то, что должно быть готово ко второму или любому последующему релизу. По умолчанию в данном документе всё, что не обозначено v2, должно быть готово к первому релизу.
Кубковые Чемпионаты (КЧ) играются по кубковой системе. Игра проходит в два этапа (не считая отборочного тура):
Условно КЧ можно разделить на два типа:
Тур - это одна игра, которая связана с реальной игрой Ювентуса.
Состав групп в первом и всех остальных турах является неизменным (т.е. добавление и удаление игроков по ходу ГЭ невозможно).
В каждой группе должно быть чётное количество игроков.
Входные параметры для создания ГЭ:
Список игроков задаётся админом вручную, т.е. автоматический перенос игроков из отборочного матча невозможен.
(v2) Автоматический перенос игроков из отборочного или любого другого матча.
Подача и одобрение заявок?
Жеребьёвка может быть:
Игроки играют по классической схеме: каждый играет с каждым по 2 раза (два домашних и два ответных матча).
Админ обязан самостоятельно выбрать победителей ГЭ.
(v2) Система автоматически выбирает победителей ГЭ, но админ может скорректировать это решение.
Разруливание спорных моментов и выбор победителей тура определяется Правилами игры в Кубковые Чемпионаты.
Как и в чемпионате ЮЭ, для каждого тура показаны:
Отображаются все туры ГЭ, пользователь может посмотреть с кем он будет играть в любом из туров.
После окончания ГЭ начинается этап Плей Офф (ПО).
ПО делится на раунды (Rounds): 1/8, 1/4, 1/2, финал.
Входные параметры:
Список игроков задаётся админов вручную.
В список игроков могут входить новые игроки, не учавствовавшие в ГЭ данного Кубка (условно это Кубок Лиги).
Количество ног в каждом конкретном раунде может быть исключительно 1 или 2.
Количество игроков должно быть чётным.
Игроки делятся на "сеянных" (в интерфейсе идут в начале списка) и "несеянных" - идут сразу после сеянных. Сеянные игроки не играют в первом раунде друг против друга.
Система случайным образом формирует первую ногу первого раунда, учитывая расположение сеянных игроков. Вторая (и последующие) нога формируется путём зеркального отображения предыдущей ноги.
Система полностью автоматически распределяет игроков по парам и формирует заданное количество ног для нового раунда.
Каждая пара играет ровно столько раз, сколько ног в раунде. Каждая чётная нога является ответным матчем для предыдущей нечётной ноги.
Победители каждого раунда выбираются вручную админом. Проигравшие не проходят в следующий раунд.
(v2) Система автоматически выбирает победителя раунда, но админ может скорректировать это решение.
Древовидная структура? Табличный вид?
Какие таблицы со статистикой нужны?
Есть ли подводные камни?