Организация турнира - помогите пожалуйста!
Комментарии10
сначала новые | сначала старые | по рейтингуПришлите файл с ошибкой на адрес, который я отправляю вам в личку. Попробуем разобраться.
Аааааа....жалко! Я составил собственный небольшой турнирчик на 16 персон, как Вы советовали. Первые страницы работают отлично, но на четвёртой ошибочка выскакивает, будь она неладна! На странице 4. Протокол Когда жму на "Получить протокол" выскакивает ошибка Runtime error '9':Subscript out of range и когда жму на Debug, то вот эта строка выделена жёлтым: nP = Sheets("2.Çàÿâêà").Cells(3, 3) Я тогда попробовал всю процедуру с Вашим оригинальным файлом и на этом же месте получил эту же ошибку. Может можно пофиксить? Турнир кстати проводится 22-го декабря. И большое Вам спасибо за Ваше время и желание помочь!
Большое спасибо! Вы нам очень помогли! Будем тестировать.
ВАЖНО: если вы получили протокол и начали играть - не нажимайте больше кнопок кроме как на пятом листе с итоговой таблицей. В лучшем случае вы затрете протокол (его можно восстановить по кнопке на 4-м листе, но придется заново вбить результаты). В худшем - поменяете напарников или порядок туров. Будет полный бардак.
Получили протокол - и прямо по нему вызываете да счет ставите.
Спасибо Вам огромное! Вот наши мужики обрадуются! Турнир то на будущей неделе. За инструкцию были бы конечно особо благодарны, тк в экселе не мастаки.
Прилепил к вашей теме атачмент - эксель файл.
Умеет спаривать четное число игроков по рейтингу, случайно перемешивать напарников, выводит протокол и считает результаты.
Инструкцию напишу чуть позже. В принципе, если поиграться - можно понять. Завтра или в понедельник напишу пошагово.
ответ на комментарий DF Далее следим только за сильными и добиваемся того, чтобы они играли между собой по 1 разу. Как будто у нас группа на 12 игроков. Берете расписание туров для группы на 12 и прямо по нему вызываете.
Вы имеете в виду, что то же самое, что мы выше проделали для игроков, сейчас проделываем для 12-ти пар, где первое чилсо = сильный игрок? 1-7 2-8 3-9 ...
1. Компьютеризировать - я сейчас не возьмусь, много другой работы.
2. Предлагаю простой алгоритм:
- В каждом туре выбирайте пары сильный-слабый не случайно, а жестко. Например, в первом туре пары такие:
1-13
2-14
3-15
4-16
...
12-24
В следующем туре слабые сдвигаются на единичку вдоль сильных. Т.е. пары такие:
1-14
2-15
3-16
...
11-24
12-1
В следующем туре - еще на единичку. Пары:
1-15
2-16
3-17
...
10-24
11-1
12-2
Таким образом, на каждый тур у вас есть готовый набор пар.
Далее следим только за сильными и добиваемся того, чтобы они играли между собой по 1 разу. Как будто у нас группа на 12 игроков. Берете расписание туров для группы на 12 и прямо по нему вызываете.
При этом так как сильные встречаются друг против друга только по одному разу, то и пары одинаковые друг против друга не встретятся.
Остается только проблема с последним, 12-м туром. Ее решать "вручную".
В бридж играют 4 человека, поищите схему движения [b]индивидуальных[/b] турниров по бриджу. Общая идея: столы нумеруются, игроки делятся на 4 равные группы, каждый раз вместе играют игроки из 4-х групп. Сыграв междусобойчик, игроки переходят на столы с номерами +1, +2, -1 или сидят на месте, в зависимости от своей изначальной группы движения по турам.
Привет! Я сам в программировании ничего не понимаю, просто достала одна проблемка. Может прочтёт кто сведущий и поможет. Задача вроде бы не такая уж и сложная… Предисловие Я играю в клубе в настольный теннис. Раз в год мы устраиваем новогодний турнир для всех членов клуба. Турнир парный чтобы уравнять шансы на выигрыш, поскольку в клубе есть сильные и слабые игроки. Всего членов в клубе 30 человек, в этом году в турнире участвуют 24 человека. 12 сильных и 12 слабых. Суть задачи В начале из общего списка в 24 человека нужно по случайному принципу образовать пары сильный-слабый. Затем эти 12 пар должны по случайному принципу сыграть между собой, те одна какая-то пара с другой. Результаты данного тура фиксируются и опять производится разделение игроков для следующего тура. По идее каждый сильный должен сыграть по разу в одной паре с каждым слабым. По возможности нужно также избегать, чтобы кто-то слишком часто играл против одного и того же соперника. Т.е. всего проводится 12 туров. Игроки, индивидуально одержавшие наибольшее количество побед становятся победителями турнира. И вот это разделение игроков по парам и потом разделение пар вручную является очень муторной задачей. Между турами нам приходится ждать по полчаса и турнир затягивается чуть ли не до ночи. Может кто может помочь и компьютеризировать это дело? Весь наш клуб был бы очень признателен. Если я что-то непонятно написал и есть ещё вопросы, то с удовольствием отвечу.