В качестве базовой выбираем круговую систему.
Она позволяет проводить турниры по 3-4 (?), 5-6, 7-8 ... 31-32 участника.
Одно- или двухкруговые турниры, практикуемые в других видах спорта, для нас не актуальны, так как мы можем организовать турнир, в котором участники играют не по 1, а по 2 игры сразу.
Уже такая система позволяет удовлетворить массу турнирных амбиций участников.
Вместе с тем разнообразить турнирную практику (при количестве заявок на турнир более 12-16), а также обеспечить организацию турниров с количеством участников более 32, хоть 100 или более
можно, реализуя модульную систему.
В качестве модулей фигурируют группы участников по 3-4, 5-6, 7-8, 9-10 человек.
1-й круг соревнования проходит в заданном (от количества участников) количестве групп выбранного модуля:
например 10 групп по 7-8 участников.
2-й круг и последующие (при большом количестве участников) соревнования проходит в выбранном количестве групп по выбранным модулям.
При этом во 2-й и последующие (при необходимости) круги проходят заданное количество участников из каждого модуля: 3-4 - 1 участник, 5-6 - 2 участника, 7-8 и 9-10 - 3 участника.
Таким образом задача программиста сводится к тому, чтобы
- сформировать стандартные модули по 3-4, 5-6, 7-8, 9-10 человек
- обеспечить возможность комбинирования модулей, создавая формулы турниров с большим количеством участников, которые требуют два или более этапов вплоть до финального.
Понятно, надеюсь: модули, как кубики... вот ряд 10-12 кубиков, из него сформировался ряд из 6 кубиков, а на вершине пирамидки один кубик - финальный модуль.
Можно предусмотреть два стандарта для распределения мест при равном количестве очков у двух и более игроков:
1 стандарт: по общей сумме капитала
2 стандарт: по результату личной встречи (сначала количество очков, потом капитал).
Такая система позволяет проводить разнообразные турниры с произвольно выбранными формулами.
Формула турнира предусматривает
- количество этапов
- количество групп, которые играют на каждом этапе.
Организатор турнира в зависимости от количества участников выбирает
- сначала количество этапов турнира
- потом подходящий модуль и их количество на каждом этапе (на разных этапах могут быть разные модули)
- стандарт распределения мест при равном количестве очков.
Таким образом формируется формула турнира и его регламент.
Остается раскидать участников по группам (произвольно или по заданным критериям: по рейтингу, % побед или по квалификационным званиям).
В каждой группе участники получают свои номера случайным образом и начинают игры в соответствии с расписанием туров (кто с кем играет в каком туре).
Для расписания туров пользуемся известным стандартом - http://chess.sainfo.ru/table.php
Казалось бы всё, но... в принципе можно рассмотреть и внедрить ещё одну систему оценки побед, в которой
за победу 2:0 игрок получает 2,5 очка
за ничью с "плюсом" по капиталу - 1,5 очка
за ничью с "минусом" - 1 очко.
При равенстве очков - смотри выше.
Система интересная, но обладает одним недостатком - есть ситуации, когда игрок с меньшим количеством выигранных партий оказывается выше того, кто партий выиграл больше.
Пример: один игрок выиграл 2 игры и одну ничью с "плюсом" (выиграл 5 партий) и получил за них не 5, а 6,5 очков. Остальным соперникам проиграл.
Другой игрок 6 раз сыграл вничью (все с "минусом), т.е. выиграл 6 партий, но набрал 6 очков. Таким образом, выиграв на одну партию больше, он окажется в турнирной таблице ниже.
===============
Далее.
Несомненный интерес может вызывать Швейцарская система проведения турниров.
Я играл по ней, но не в Акционер, а в футбольном менеджере. Система интересная, может просто разнообразить принятую у нас систему турниров.
Но пока, думаю, на ней нет необходимости зацикливаться. Придет время, когда мы созреем для создания программного обеспечения и "швейцарки". Потом. Когда-нибудь. Если захотим
===============
И последнее. Нет... предпоследнее.
Очень важно определиться, какие вообще турниры мы можем проводить.
- квалификационные турниры, победители которых получают квалификационные баллы для получения разрядов и пр. Это маленькие модули: 5-6, 7-8, максимум 9-10 человек.
- турниры более крупные, типа месячные (Февральский, Майский и пр.). До 16 человек, допустим. Если таких турниров (при наполнении сайта участниками) будет одновременно несколько проходить, то можно предусмотреть финал для их победителей.
- сезонные турниры (Летний, Осенний и пр.). Это уже для 32 участников и более...
- турниры, посвящённые каким-то событиям, памятным датам и пр. Формула произвольная.
- турниры региональные. Например, первенство Белоруссии, Украины, России, Минска, Киева и пр. (1 - 2 раза в год)
- самый крупный турнир - Первенство клуба (да хоть Первенство Мира ) - все желающие всего сайта.
- ну и кучка всяких прочих турниров...
Конечно, следует учитывать, что при большом наполнении сайта и с большой разницей в опыте игроков будут организовываться лиги (высшая, 1, 2...), в том числе и с разбивкой по регионам при возможности. Тогда все перечисленные выше турниры будут проводиться в каждой лиге отдельно.
Турниры могут быть регламентные, т.е. Сайт объявляет некий турнир и запись в него желающих... Можно продумать перечень таких турниров с приложением к нему заранее составленного календаря на год.
Или турниры инициативные - т.е. по инициативе обладающих на это правом игроков - в любое время, с количеством участников от 5 до 10, например (в том числе квалификационные).
===================
Наконец, последнее.
Специфической формой турнира могут быть Матчи.
Матч-дуэль: два человека играют между собой оговоренное количество игр - 5, 10... Вот, например, мне было бы интересно сыграть такой матч с Шорой. Думаю, что другим игрокам было бы интересно следить за его перипетиями
Командные матчи: две команды с 10, например, участниками, разбиваются на пары (по решению капитанов или произвольно) и каждая пара играет по 1-3 игры.
Фу... Иссяк, наконец.
Она позволяет проводить турниры по 3-4 (?), 5-6, 7-8 ... 31-32 участника.
Одно- или двухкруговые турниры, практикуемые в других видах спорта, для нас не актуальны, так как мы можем организовать турнир, в котором участники играют не по 1, а по 2 игры сразу.
Уже такая система позволяет удовлетворить массу турнирных амбиций участников.
Вместе с тем разнообразить турнирную практику (при количестве заявок на турнир более 12-16), а также обеспечить организацию турниров с количеством участников более 32, хоть 100 или более
можно, реализуя модульную систему.
В качестве модулей фигурируют группы участников по 3-4, 5-6, 7-8, 9-10 человек.
1-й круг соревнования проходит в заданном (от количества участников) количестве групп выбранного модуля:
например 10 групп по 7-8 участников.
2-й круг и последующие (при большом количестве участников) соревнования проходит в выбранном количестве групп по выбранным модулям.
При этом во 2-й и последующие (при необходимости) круги проходят заданное количество участников из каждого модуля: 3-4 - 1 участник, 5-6 - 2 участника, 7-8 и 9-10 - 3 участника.
Таким образом задача программиста сводится к тому, чтобы
- сформировать стандартные модули по 3-4, 5-6, 7-8, 9-10 человек
- обеспечить возможность комбинирования модулей, создавая формулы турниров с большим количеством участников, которые требуют два или более этапов вплоть до финального.
Понятно, надеюсь: модули, как кубики... вот ряд 10-12 кубиков, из него сформировался ряд из 6 кубиков, а на вершине пирамидки один кубик - финальный модуль.
Можно предусмотреть два стандарта для распределения мест при равном количестве очков у двух и более игроков:
1 стандарт: по общей сумме капитала
2 стандарт: по результату личной встречи (сначала количество очков, потом капитал).
Такая система позволяет проводить разнообразные турниры с произвольно выбранными формулами.
Формула турнира предусматривает
- количество этапов
- количество групп, которые играют на каждом этапе.
Организатор турнира в зависимости от количества участников выбирает
- сначала количество этапов турнира
- потом подходящий модуль и их количество на каждом этапе (на разных этапах могут быть разные модули)
- стандарт распределения мест при равном количестве очков.
Таким образом формируется формула турнира и его регламент.
Остается раскидать участников по группам (произвольно или по заданным критериям: по рейтингу, % побед или по квалификационным званиям).
В каждой группе участники получают свои номера случайным образом и начинают игры в соответствии с расписанием туров (кто с кем играет в каком туре).
Для расписания туров пользуемся известным стандартом - http://chess.sainfo.ru/table.php
Казалось бы всё, но... в принципе можно рассмотреть и внедрить ещё одну систему оценки побед, в которой
за победу 2:0 игрок получает 2,5 очка
за ничью с "плюсом" по капиталу - 1,5 очка
за ничью с "минусом" - 1 очко.
При равенстве очков - смотри выше.
Система интересная, но обладает одним недостатком - есть ситуации, когда игрок с меньшим количеством выигранных партий оказывается выше того, кто партий выиграл больше.
Пример: один игрок выиграл 2 игры и одну ничью с "плюсом" (выиграл 5 партий) и получил за них не 5, а 6,5 очков. Остальным соперникам проиграл.
Другой игрок 6 раз сыграл вничью (все с "минусом), т.е. выиграл 6 партий, но набрал 6 очков. Таким образом, выиграв на одну партию больше, он окажется в турнирной таблице ниже.
===============
Далее.
Несомненный интерес может вызывать Швейцарская система проведения турниров.
Я играл по ней, но не в Акционер, а в футбольном менеджере. Система интересная, может просто разнообразить принятую у нас систему турниров.
Но пока, думаю, на ней нет необходимости зацикливаться. Придет время, когда мы созреем для создания программного обеспечения и "швейцарки". Потом. Когда-нибудь. Если захотим
===============
И последнее. Нет... предпоследнее.
Очень важно определиться, какие вообще турниры мы можем проводить.
- квалификационные турниры, победители которых получают квалификационные баллы для получения разрядов и пр. Это маленькие модули: 5-6, 7-8, максимум 9-10 человек.
- турниры более крупные, типа месячные (Февральский, Майский и пр.). До 16 человек, допустим. Если таких турниров (при наполнении сайта участниками) будет одновременно несколько проходить, то можно предусмотреть финал для их победителей.
- сезонные турниры (Летний, Осенний и пр.). Это уже для 32 участников и более...
- турниры, посвящённые каким-то событиям, памятным датам и пр. Формула произвольная.
- турниры региональные. Например, первенство Белоруссии, Украины, России, Минска, Киева и пр. (1 - 2 раза в год)
- самый крупный турнир - Первенство клуба (да хоть Первенство Мира ) - все желающие всего сайта.
- ну и кучка всяких прочих турниров...
Конечно, следует учитывать, что при большом наполнении сайта и с большой разницей в опыте игроков будут организовываться лиги (высшая, 1, 2...), в том числе и с разбивкой по регионам при возможности. Тогда все перечисленные выше турниры будут проводиться в каждой лиге отдельно.
Турниры могут быть регламентные, т.е. Сайт объявляет некий турнир и запись в него желающих... Можно продумать перечень таких турниров с приложением к нему заранее составленного календаря на год.
Или турниры инициативные - т.е. по инициативе обладающих на это правом игроков - в любое время, с количеством участников от 5 до 10, например (в том числе квалификационные).
===================
Наконец, последнее.
Специфической формой турнира могут быть Матчи.
Матч-дуэль: два человека играют между собой оговоренное количество игр - 5, 10... Вот, например, мне было бы интересно сыграть такой матч с Шорой. Думаю, что другим игрокам было бы интересно следить за его перипетиями
Командные матчи: две команды с 10, например, участниками, разбиваются на пары (по решению капитанов или произвольно) и каждая пара играет по 1-3 игры.
Фу... Иссяк, наконец.