Модуль:Data/Tournaments

Материал из ЧТМ
Версия от 08:33, 22 апреля 2026; Burato (обсуждение | вклад) (Burato переименовал страницу Модуль:Data/Турниры в Модуль:Data/Tournaments без оставления перенаправления)
Перейти к навигации Перейти к поиску
Документация Документация

Собираем базу данных турниров. Вот что уже есть:

Готово:

(править)

2006 (ЧТМ) • 2009 (КАм, КАф, КЕв, КОк, КЕвропы, КЮжАм, ККо) • 2010 (ЧТМ) • 2013 (КАм, КАф, КЕв, КОк, КЕвропы, КЮжАм, ККо) • 2014 (ЧТМ) • 2015 (КФе) • 2017 (КАм, КАф, КЕв, КОк, КЕвропы, ККо) • 2018 (ЧТМ) • 2019 (КФе) • 2020 (КАм, КАф, КЕв, КОк) • 2021 (ККо) • 2022 (ЧТМ) • 2023 (КФе) • 2024 (КАм, КАф, КЕв, КОк) • 2025 (ККо) • 2026 (ЧТМ) • 2027 (КФе) • 2028 (КАм, КАф, КЕв, КОк) • 2029 (ККо) • 2030 (ЧТМ) • 2031 (КФе) • 2032 (КАм, КАф, КЕв, КОк) • 2033 (ККо) • 2034 (ЧТМ) • 2035 (КФе) • 2036 (КАм, КАф, КЕв, КОк) • 2037 (ККо) • 2038 (ЧТМ) • 2039 (ЛНа) • 2041 (КФе) • 2040 (КАм, КАф, КЕв, КОк, ЧЧМ) • 2042 (ЧТМ, пер. матчи) • 2043 (ЛНа) • 2044 (КАм, КАф, КЕв, КОк, ЧЧМ) • 2045 (КФе) • 2046 (ЧТМ) • 2047 (ЛНа) • 2048 (КАм, КАф, КЕв, КОк, ЧЧМ)

Не готово:

Кубки Убогих после 2006

Скрипты для быстрого превращения Вики-кода в Lua

Заготовки для копирования

Скрипты для быстрого превращения Вики-кода в Lua


Пожалуйста, добавляйте категории на страницу документации.

-- Пишем на примере квалификации ЧТМ-2046

return {
    -- ==========================================
    -- ПЕРВЫЙ РАУНД (Группы) - раунд может быть и не указан, тогда просто GroupA
    -- ==========================================
    ["1R_GroupA"] = {
        type = "group",
        -- Python-скрипт берёт из твоего шаблона команды и их цвета
        -- Порядок в этом массиве — это то, как они отсортируются в итоговой таблице
        standings = {
            {"ЛЕС", "Y"},  -- Y = жёлтый (победитель)
            {"ФИЛ", "LY"}, -- LY = светло-жёлтый (дополнительные матчи)
            {"СЭС", "LY"},
            {"СЕУ", "R"}   -- R = красный (вылет)
        },
        -- Python превращает твою "шахматку" в плоский список из 12 матчей (каждый с каждым по 2 раза)
        matches = {
            -- { Команда1, Команда2, Голы1, Голы2 }
            {"ЛЕС", "ФИЛ", 3, 2, 1},
            {"ЛЕС", "СЭС", 4, 1, 1},
            {"ЛЕС", "СЕУ", 5, 0, 1},
            {"ФИЛ", "ЛЕС", 3, 3, 1},
            {"ФИЛ", "СЭС", 2, 0, 1},
            {"ФИЛ", "СЕУ", 4, 0, 1},
            {"СЭС", "ЛЕС", 2, 2, 1},
            {"СЭС", "ФИЛ", 0, 0, 1},
            {"СЭС", "СЕУ", 5, 2, 1},
            {"СЕУ", "ЛЕС", 0, 0, 1},
            {"СЕУ", "ФИЛ", 0, 2, 1},
            {"СЕУ", "СЭС", 1, 3, 1},
        }
    },
    
    -- (Здесь идут ["1R_GroupB"], ["1R_GroupC"] и т.д.)

    -- ==========================================
    -- ДОПОЛНИТЕЛЬНЫЕ МАТЧИ
    -- ==========================================
    ["1R_AddMatches_Stage1"] = { -- номер раунда, указание на то, что это дополнительные, а не стыковые матчи, номер тура
        type = "knockout",
        matches = {
            -- Список матчей (формат см. ниже, в третьем раунде)
        }
    },
    ["1R_AddMatches_Stage2"] = {
        type = "knockout",
        matches = {
            -- Список матчей (формат см. ниже, в третьем раунде)
        }
    },
    ["1R_AddMatches_Stage3"] = {
        type = "knockout",
        matches = {
            -- Формат: { К1, К2, Г1, Г2, "Спец", Пен1, Пен2, Цвет1, Цвет2, Поле }
            -- "Спец" может быть nil, "aet" или "pen"
            {"НОР", "РЕЮ", 5, 1, nil, nil, nil, "Y", "R", 1},
            {"ФИЛ", "ШПИ", 4, 4, "pen", 8, 7, "Y", "R", 1},
            {"СИН", "ОКУ", 5, 6, "aet", nil, nil, "R", "Y", 1},
            {"ГОН", "ЭКВ", 1, 1, "pen", 3, 4, "R", "Y", 1},
            {"СКН", "АНГ", 4, 0, nil, nil, nil, "Y", "R", 1},
            {"ОВО", "ТУВ", 1, 0, nil, nil, nil, "Y", "R", 1},
            {"МРН", "ФРА", 0, 1, nil, nil, nil, "R", "Y", 1},
        }
    },
    -- ==========================================
    -- ВТОРОЙ РАУНД (Группы)
    -- ==========================================
    ["2R_GroupA"] = { -- всё в том же формате
        type = "group",
        standings = {
        },
        matches = {
        }
    },
    
    -- (Здесь идут ["2R_GroupB"], ["2R_GroupC"] и т.д.)

    -- ==========================================
    -- ДОПОЛНИТЕЛЬНЫЕ МАТЧИ И ПЛЕЙ-ОФФ
    -- ==========================================
    ["2R_AddMatches_Stage1"] = { -- номер раунда, указание на то, что это дополнительные, а не стыковые матчи, номер тура
        type = "knockout",
        matches = {
            -- Список матчей
        }
    },
    ["2R_AddMatches_Stage2"] = {
        type = "knockout",
        matches = {
            -- Список матчей
        }
    },
    -- ==========================================
    -- ТРЕТИЙ РАУНД (Группы)
    -- ==========================================
    ["2R_GroupA"] = { -- всё в том же формате
        type = "group",
        standings = {
            {"КИР", "Y"},  -- G = зелёный (выход в финальный турнир)
            {"СЕЙ", "Y"},  -- Y = жёлтый (стыки)
            {"БРУ", "LY"}, -- R = красный (вылет)
            {"БЕР", "R"}   
        },
        matches = {
        }
    },
    
    -- (Здесь идут ["3R_GroupB"], ["3R_GroupC"] и т.д.)
    
    -- ==========================================
    -- СТЫКОВЫЕ МАТЧИ
    -- ==========================================
    ["Playoffs"] = { -- именно что стыковые матчи, которые дают право на выход в финальный турнир
        type = "knockout",
        matches = {
            {"КАЙ", "МНТ", 0, 1, nil, nil, nil, "L", "G", 0}, -- нейтральное поле
            {"ТАД", "САМ", 3, 1, nil, nil, nil, "G", "L", 0},
            {"АСА", "ТАИ", 0, 0, "pen", 4, 3, "G", "L", 0},
            -- и т.д.
        }
    },
    
    -- ==========================================
    -- ДОПОЛНИТЕЛЬНЫЙ ТУРНИР
    -- ==========================================
    ["AddTournament_Semifinal"] = { --дополнительный турнир, может быть также Quaterfinal и qual
        type = "knockout",
        matches = {
            {"ГИБ", "ДРЕ", 2, 0, nil, nil, nil, "Y", "R", 0}, 
            -- и т.д.
        }
    },
    ["AddTournament_Final"] = {
        type = "knockout",
        matches = {
            {"ГИБ", "ТАИ", 2, 0, nil, nil, nil, "G", "R", 0}, 
            {"САМ", "ГАВ", 1, 2, nil, nil, nil, "R", "G", 0}, 
            -- и т.д.
        }
    },

    -- ==========================================
    -- ДДРУГИЕ ФОРМАТЫ
    -- ==========================================    
    -- ==========================================
    -- На других турнирах были также квалификационные матчи,
    -- обычно называются "Предварительный раунд"
    -- ==========================================
    
   -- вот вики-код:
--	; Предварительный раунд
--	{{И2
--	|R|РЕЮ|0:1, 1:2|СОМ|Y -- два матча, а не один!!!
--	|R|ЗАС|1:1, 1:1 (пен.2:3)|ОСТ|Y
--	}}
    ["Qual"] = { --дополнительный турнир, может быть также Quaterfinal и qual
        type = "knockout",
        matches = {
            {"РЕЮ", "СОМ", 0, 1, nil, nil, nil, "R", "G"}, 
            {"СОМ", "РЕЮ", 2, 1, nil, nil, nil, "G", "R"},
            -- и т. д.
        }
    },  
    -- ==========================================
    -- Иногда играли в один круг на нейтральном поле
    -- ==========================================
--	; Группа D
--	{{Группа 4-А1| - A1 - указатель круга
--	G|ЭРИ|3:1|2:0|4:2|
--	Y|ЧАД|1:3|1:3|6:2|
--	R|ЦАР|0:2|3:1|2:4|
--	R|ЛЕС|2:4|2:6|4:2}}

    ["GroupD"] = { -- нет указания раунда, он был единственным
        type = "group",
        -- Python-скрипт берёт из твоего шаблона команды и их цвета
        -- Порядок в этом массиве — это то, как они отсортируются в итоговой таблице
        standings = {
            {"ЭРИ", "G"},
            {"ЧАД", "Y"},
            {"ЦАР", "R"},
            {"ЛЕС", "R"} 
        },
        -- каждый с каждым по 1 разу)
        matches = {
            -- { Команда1, Команда2, Голы1, Голы2 }
            {"ЭРИ", "ЧАД", 3, 1, 0},
            {"ЭРИ", "ЦАР", 2, 0, 0},
            {"ЭРИ", "ЛЕС", 4, 2, 0},
            {"ЧАД", "ЦАР", 1, 3, 0},
            {"ЧАД", "ЛЕС", 6, 2, 0},
            {"ЦАР", "ЛЕС", 2, 4, 0},
        }
    },
    -- Могут быть и огромные группы
--	; Группа A
--	Организатор — [[Сан-Томе и Принсипи]].
--	{{Группа 8-А1|
--	G|СТП|2:2|3:2|5:2|4:0|4:0|7:0|3:1|
--	Y|БГН|2:2|0:0|4:0|5:0|4:2|2:1|9:1|
--	L|МАЙ|2:3|0:0|2:2|5:0|4:0|4:1|5:4|
--	L|КАТ|2:5|0:4|2:2|3:2|1:0|6:0|3:1|
--	R|МАТ|0:4|0:5|0:5|2:3|1:2|1:0|3:2|
--	R|РЕХ|0:4|2:4|0:4|0:1|2:1|2:4|2:2|
--	R|МАС|0:7|1:2|1:4|0:6|0:1|4:2|0:0|
--	R|БРВ|1:3|1:9|4:5|1:3|2:3|2:2|0:0}}

    ["GroupA"] = { -- нет указания раунда, он был единственным
        type = "group",
        standings = {
            {"СТП", "G"},
            {"БГН", "Y"},
            {"МАЙ", "L"},
            {"КАТ", "L"}, 
            {"МАТ", "R"},
            {"РЕХ", "R"},
            {"МАС", "R"},
            {"БРВ", "R"} 
        },
        -- опять же, каждый с каждым по 1 разу)
        matches = {
        }
    },
}