Bugsp.ru

Ваша компьютерная помощь
0 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как создать турнирную таблицу онлайн

Мой pet-проект: создание турнирных таблиц

Мы в Ижевске регулярно проводим турниры по шахматам и шашкам. Обычно турнир у нас растягивается на несколько дней и нужно где-то хранить результаты. Для круговых турниров мы создавали файл в гугл-таблицах. Для швейцарских пробовали разные веб-сервисы и программы. И всегда сталкивались с какими-нибудь недостатками.

Приложения для компьютера неудобны для публикации результатов и крайне сложны. Онлайн-сервис имел неудобный интерфейс. Несколько раз приходили мысли написать свой веб-сервис. И вот наконец идея воплотилась в реальность. В конце 2018 года был создан сайт SwissSystem.

Как работает сервис

На сайте можно прочитать, какие возможности предоставляет сервис, поэтому тут опишу технические особенности реализации.

Использованные технологии: ASP.NET Core 2.1, Entity Framework, Bootstrap, Maria DB, Nginx, Linux.

Я впервые размещал ASP.NET приложение на Linux и это было интересно. В остальном же были использованы достаточно стандартные для ASP.NET решения. Из коробки можно было использовать авторизацию по логин-паролю и через социальные сети.

Основная сложность была в алгоритмах. Помню, в шахматной школе не каждый тренер мог провести жеребьевку по швейцарской системе. Это именно жеребьевка, поскольку есть элемент случайности. К счастью, я нашел в интернете движок по жеребьевке на JAVA. Это очень помогло, но не до конца. Нужно было уметь правильно подсчитывать очки и тут есть определенные сложности и варианты подсчета (связано с правилами ФИДЕ по подсчету коэффициента бухгольца).

Данные хранятся достаточно просто. Весь турнир сохраняется в виде JSON. Для обеспечения многопоточного изменения поддержана версионность. Операция изменения применяется если прочитанная версия равна версии данных в базе. Если версия изменилась, то данные пересчитываются и применяются еще раз.

Как сервис стал популярным у иностранных шахматистов

Первое время я пробовал раскручивать сайт и потратил где-то 2000 рублей. Было впечатление, что шахматная жеребьевка мало кому интересна. Статистика по ключевым словам в Google это подтверждает. В итоге решил прекратить раскрутку.

Но каким-то образом раскрутка дошла до Бразилии. Одна девушка пользовалась моим сайтом, но ее печалило, что интерфейс не на ее родном языке. Друг этой девушки решил ее удивить и написал мне, что хочет перевести мой сайт. Так появился португальский язык на SwissSystem.org. Думаю, ребята поженились, жили долго и счастливо. 🙂

Осенью 2019 внезапно на меня вышел Мато Джелик (Mato Jelic) из Австралии, который хотел купить компоненту и встроить ее в свой сайт на вордпрессе. Я ему долго объяснял, что это практически невозможно и нужно будет покупать нормальную виртуальную машину, а не хостинг на PHP. В итоге мы всё-таки договорились и была создана копия сайта. Это был единственный существенный доход, который покрыл расходы на хостинг на много лет вперед.

За последний год в среднем сайт посещает около 500 человек в месяц. В январе 2021 года преимущественно посещают игроки из Великобритании, Индии и США. Организатор турниров в Великобритании пару раз давал пожертвования в виде пары десятков фунтов. Есть идея переписать сайт на ReactJS и выпустить мобильное приложение, но всегда находятся какие-то другие дела.

Хинт для программистов: если зарегистрируетесь на соревнования Huawei Cup, то бесплатно получите доступ к онлайн-школе для участников. Можно прокачаться по разным навыкам и выиграть призы в самом соревновании.

Перейти к регистрации

Сетки, шаблоны, таблицы для турниров по пляжному волейболу
( Double elimination, Single elimination, Группы, Псевдогруппа, Мастер песка, Мастер-микст, Королевский микст, Kings of the court ) —>

Должны ли в браузере быть включены Куки ? ОБЯЗАТЕЛЬНО ! Какой браузер лучше использовать ? Сервис проверен для firefox, chrome, opera, safari и др. под ОС Windows, Linux, Android. Если при работе с вашего устройства возникли проблемы , сообщите тип устройства,ОС и браузер. Как провести турнир используя сервис ? Нажмите кнопку . Заполните название турнира и необязательное поле с Положениями (Если название турнира не заполнено, то ссылка для зрителей и участников на главной странице не появится).
Нажмите кнопку , появится ссылка для организатора (только по этой ссылке измененения в ходе турнира отправляются на сервер и доступны другим участникам. Лучше внести ее в избранное).
Перейдите по ссылке организатора и вводите фамилии или названия команд участников.
Если Вы организуете одновременно и мужской и женский турниры, Вам необходимо зарегистрировать 2 турнира.
Если команды ввести в соответствии с рейтингом , ввести количество сеянных N и нажать кнопку ЖЕРЕБЬЕВКА, то первые N останутся на своих местах, а игроки ниже по списку перемешаются. Если сеянных 0, то жеребьевка распространяется на всех участников.
При нажатии кнопки . Будет построена турнирная таблица до двух поражений.
Если известен победитель некоторой игры, нажмите на кнопку с названием команды-победителей, она будет перенесена в игру для винеров, проигравший будет перенесен в игру для лузеров.
Чтобы скрыть всю информацию,кроме турнирной таблицы , нажмите кнопку . Где можно поделиться опытом или получить консультацию ? Замечания, советы, обсуждение системы или по телефону,почте внизу страницы. Как по окончании турнира можно узнать кто какое место занял ? Кликните на кнопку Если у меня есть список участников в Екселе , как его перенести в Вашу систему ? Если у вас есть список команд в EXCEL-е расположенный в столбик, вы можете скопировать список в поле над кнопкой ИМПОРТ. Нажатие кнопки приведет к занесению команд в раздел УЧАСТНИКИ. Как распечатать турнирную таблицу ? Нажмите кнопку , чтобы на странице осталась только таблица. В меню браузера выберите печать или предварительный просмотр. Если нужно повернуть таблицу , выберите альбомную ориентацию. Если хотите ,чтобы таблица поместилась на один лист , измените масштаб Как распечатать бланк турнирной таблицы ? Вместо участников введите знак /. Нажмите кнопку . Что означает текст в таблице рядом с номером игры ? S — номер участника по рейтингу или после жеребьевки. W — номер игры откуда переходит победитель(винер). L — номер игры откуда переходит проигравший(лузер) Каким образом сохраняются данные по играм на сайте. Если, например, у меня в середине турнира закрылась вкладка с результатам, то результаты не сохранятся, придется вводить опять? Если Вы вошли по ссылке организатора и есть интернет, данные сохраняются при действиях ПЕРЕНЕСТИ В СЕТКУ,НАЧАТЬ и при любых действиях с турнирной таблицей. Какие еще есть возможности у системы ? В нижнюю часть таблицы вписать любой текст (спонсоры, организаторы и т.п.)
В таблицу можно вставить картинку (логотип турнира и пр.)
Можно экспортировать таблицу в PDF
Можно использовать систему даже если на стадионе нет доступа к интернет
Итоги турнира (команды и занятые места) можно экспортировать в Ексель
Максимальное количество команд — 128, при необходимости, будет увеличено до 256
Новая функция — Расписание игр и возможность хранить и печатать полные результаты турнира. Описание возможностей будет позже.
Разработана новая модель проведения турниров типа «Король пляжа» — «Мастер песка». Доступна для зарегистрированных организаторов.
Разработана новая модель проведения турниров «Королевский микст» на лучшую микст-пару среди всех возможных комбинаций участников. Доступна для зарегистрированных организаторов.

Читайте так же:
Kdwin скачать бесплатно для Windows 7

Начало : / / Название : турнира
Double elimination Single elimination Группы 0)<>else‘ title=»>Псевдогруппа 0)<>else‘ title=’Определение сильнейшего игрока турнира. Количество игр как в Double elimination’>Мастер песка 0)<>else‘ title=’Определение сильнейшей микст-пары с произвольным количеством М и Ж’>Мастер-микст 0)<>else‘ title=»>Королевский микст Kings of the court/Короли корта Kings of the beach+/Король пляжа+ Динамический Пляжный/beachvolley 2*2 Снежный/snowvolley 3*3 Парковый/parkvolley 4*4 Классика/volleyball 6*6 Другой/other Мужской/Men Женский/Women Микст/Mix Без ограничений Молодежный Ветераны Положения турнира :

—> Ваш номер организатора, если есть получить номер организатора
Город проведения :

Double elimination Single elimination Группы Псевдогруппа Мастер песка Мастер-микст Королевский микст

Рейтинги,заявка на участие

* Яркий шрифт — турнир не начался, синий — идет, серый — завершен. Крутые турниры отмечаются звездами ⭐, от 1 до 5.
🔥 — турнир рейтинговый, 📷 — есть фото, 🎥 — есть видео игр, 👍 — уровень организатора турнира

Тема: Гайд по созданию турнирной сетки

Всем здрасте
Решил создать гайд, как правильно создать турнирную сетку (для тех кто не знает)
Ccылка на этот сайт: https://cfire.ru/link/?f=http%3A%2F%2. cf788660a449a6

Для начало, заходим сюда.

И создаем аккаунт на данном сайте.

Пишем в строчке Username, логин, для вашего аккаунта.
После логина, заполняем строчку Email, туда вы пишете свой Mail (Без разницы, будь то Mai.ruk, или yandex.ru)
Далее пишете удобный для вас пароль, и повторяете его.
Дальше просто нажимаете галочку, и создаете аккаунт.

Все, ваш аккаунт готов.

Далее, заходим сюда

Потом, у вас высвечивается такая табличка

Name-это будет ваше так сказать имя.
Дальше, вы пишите Subdomain, это ваш адрес.
Далее, если хотите можете поставить себе аватар (это не обязательно)
После, вы пишите описание. В них вы можете написать все что угодно.(тоже не обязательно)

Читайте так же:
Как исправить ошибку с файлом msvcr71.dll

После чего, вы нажимаете сюда:

И так, переходим к созданию главного

Host, это тот же Name, его не изменить.
Во второй строчке, "Name", вы пишете название вашего турнира
К примеру:"Турир от клана *** КБ 5х5"
URL вы так же можете написать что вы хотите "tournament5x5"
Type, там вы выбираете какого рода турнира вы хотите сделать

Пройдемся по каждому из вариантов
1. И самый распространенный Single Elimination. Это матчи плей-офф

2.Double Elimination. Это почти одно и тоже, что и плей-офф, только тут, если вы проиграли, вам дается еще 1 шанс

3.Round Robin.


4.Swiss

И так, после того, как вы все сделали, переходим к следущей части

Нажимаем Add or invite participants.


Тут мы записываем команды

После того, как мы записали нужное количество нам команд

Нажимаем preview your bracket.

И вот, наш турнир готов.

Теперь нажимаем Start The Tournament
И продвигаем команды по сетке.

После того, как ваш турнир закончился, нажимаем End The Tournament


Вот и все, ваш турнир завершился

Спасибо за просмотр гайда

20 полезных шаблонов «Google Таблиц» на все случаи жизни

20 полезных шаблонов «Google Таблиц» на все случаи жизни

Чтобы использовать понравившуюся таблицу, откройте её по ссылке, затем нажмите «Файл» → «Создать копию».

1. Отслеживание веса и параметров фигуры

Если вы хотите похудеть или, напротив, набрать массу, эта таблица вам поможет. Она позволяет фиксировать любые изменения в вашем организме — от обхвата в плечах до процента жировой ткани. После каждой записи таблица автоматически рассчитывает ваш прогресс.

2. Силовые тренировки

Эта таблица помогает контролировать тренировки с отягощениями — по два занятия в неделю (впрочем, вы можете подкорректировать её под себя). Тут можно отслеживать как ваш индивидуальный прогресс, так и улучшение показателей нескольких человек, если вы занимаетесь в группе.

Читайте так же:
Как конвертировать FB2 в PDF

3. Работа по дому

Если вам нелегко распределить домашние обязанности между домочадцами и у вас постоянно возникают споры, кто, что и когда должен был сделать, вам поможет этот шаблон. В нём можно указать, кто моет кухню, кто готовит завтрак, а кто трудится в саду. Родители, чьи дети не отлынивают от работы по дому, могут с помощью таблицы даже назначать им денежное вознаграждение.

4. График дежурств

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

5. Список дел

Те, кто считает, что всякие Wunderlist и Todoist не стоят того, чтобы тратить время на создание в них учётной записи, могут вносить свои дела в эту простенькую табличку, а затем просто вычёркивать их по мере выполнения.

6. Ежедневник

Если вышеуказанный список дел кажется слишком уж простеньким, вам подойдёт такой ежедневник. Его можно сохранить в Google Drive и просматривать запланированные задачи с любого устройства. Ну или при желании распечатать и заполнять от руки.

7. Бюджет путешествия

Этот калькулятор может рассчитать, сколько денег вы потратите на путешествие, — неважно, собрались ли вы па пару дней в соседний город или хотите устроить кругосветку. Шаблон не только просуммирует траты на отели, транспорт, пропитание и экскурсии, но и отобразит их в виде наглядной круговой диаграммы.

8. Маршрут путешествия

Ещё один шаблон в помощь путешественникам. С ним вы сможете рассчитать, в какой город и в какое время прибываете и когда уезжаете. Полезная штука, если планируете тур по Европе, к примеру.

9. Календарь

Простенький календарь, ничего лишнего. Его можно держать в отдельной вкладке браузера и заносить туда запланированные события. Или при необходимости распечатать и повесить на холодильник. Шаблон устроен так, что даты автоматически меняются каждый год, так что вам не придётся беспокоиться об обновлении цифрового варианта.

10. Личный и семейный бюджет

Две таблицы, которые пригодятся при планировании личного (если вы живёте один) или семейного бюджета. Внесите данные в ячейки и увидите, сколько денег у вас останется в конце расчётного периода. Так вы сможете узнать, какие расходы лучше урезать, чтобы сэкономить нужную сумму.

11. Инвентарный список

Этот шаблон пригодится тем, кому необходимо точно знать, какие вещи и в каком количестве лежат у него дома. Например, если вы сдаёте жильё в аренду, инвентарный список вам точно понадобится.

Читайте так же:
DNS-сервер не отвечает в Windows 7

12. Калькулятор сбережений

Копите деньги на безбедную старость? Вот шаблон, в котором можно вести расчёты отложенных средств. Вводите свои доходы и узнаете, в каком возрасте сможете бросить опостылевшую работу.

13. Планирование вечеринок

С этим шаблоном можно легко отслеживать, сколько гостей к вам придёт на уютные домашние посиделки или шашлыки. Какую еду они принесут, сколько денег вложат, возьмут ли с собой детей… В общем, всё, что нужно учесть, прежде чем закатить долгожданный пир.

14. Сравнение автомобилей

Покупка нового авто — серьёзный шаг. Прежде чем выбрать четырёхколёсного коня, нужно сопоставить все доступные варианты и учесть их преимущества и недостатки. Заполните таблицу, указав все параметры сравниваемых машин, и сможете принять верное решение.

15. Журнал техобслуживания

Когда автомобиль уже куплен, может сложиться впечатление, что самое трудное позади. Увы, трудности только начинаются, ведь за машиной нужно ухаживать. Этот шаблон поможет подсчитать сумму трат на обслуживание и ремонт вашего авто.

16. Журнал пробега

Внесите в форму показания одометра, количество залитых литров и их стоимость и сможете увидеть цену одного километра пробега вашего авто. К сожалению, владельцам Tesla этот шаблон не подойдёт.

17. Список контактов

«Google Контакты» — великолепная штука, но иногда нужно альтернативное место для хранения адресов. Например, вам надо скопировать куда-то рабочие номера коллег, которые только занимают место в основном аккаунте Google. Или собрать базу клиентов для холодных звонков. Тут придёт на помощь вот такой простенький список контактов, данные в котором можно сортировать как угодно встроенными средствами «Google Таблиц».

18. Диаграмма Ганта

Диаграмма Ганта — это популярный тип столбчатых диаграмм (гистограмм), который используется для иллюстрации плана или графика работ по какому-либо проекту. С помощью этого шаблона вы сможете составлять детальный план действий и отслеживать их выполнение.

19. Семейное древо

Изучение своей генеалогии довольно увлекательное занятие. Иногда оно может быть даже полезным — вдруг у вас в родне есть какой-нибудь граф, у которого случайно завалялось наследство. Но в большинстве случаев построение семейного древа просто интересное развлечение.

20. Коммунальные платежи

Эта таблица вам пригодится, чтобы рассчитывать траты на квартиру. Введите свои тарифы за горячую и холодную воду, водоотведение, электричество и газ, а затем внесите показания счётчиков в колонку «Факт», и шаблон покажет, сколько нужно будет заплатить в этом месяце.

Как провести круговой турнир
не имея таблиц очередности игры

Создать такую таблицу руководствуясь несколькими не сложными правилами. Рассмотрим на примере для 8 участников процесс создания таблиц очередности игры различными способами. Заметим, что эта таблица применяется и при количестве участников на 1 меньше, то есть 7, просто в этом случае тот участник, которому выпало играть с последним номером (в данном примере с 8) в данном туре свободен от игры.

Способ 1

1. Пронумеруем строки: это будут номера туров:

2. В каждом туре будут играть 4 пары, всего 4 партии. Для каждой пары проведем тире в нашей таблице:

3. В первой колонке пар записываем последний номер (8) попеременно, то слева, то справа начиная справа:

Читайте так же:
Как скопировать историю в Инстаграме

4. Заполняем левые стороны пар начиная с 1 слева направо все строки. После числа 7 снова начинаем с 1: 1, 2, 3, 4, 5, 6, 7, 1, 2. Если в первом столбце пар левая сторона уже занята числом 8 записываем очередное число справа.

5. Проставляем справа в свободные места номера в убывающем порядке начиная с 7. После числа 1 начинаем с числа 7: 7, 6, 5, 4, 3, 2, 1, 7, 6, 5, 4.

Все, таблица готова, участники с номерами записанными слева от черточки играют белыми.

Способ 2

Для того чтобы определить, в каком туре встречаются участники, надо сложить их номера. Если сумма будет меньше последнего четного номера таблицы или равна ему, то нужно вычесть единицу. Если сумма будет больше этого последнего номера, то вычесть последний номер. Пример: надо определить, в каком туре встречаются участники, имеющие номера 2-й и 5-й? 2+5=7. Цифра 7 меньше последнего (8-го) номера. Вычитаем единицу: 7-1=6. Итак, они встречаются в шестом туре. В каком туре играют между собой номера 4-й и 6-й? 4+6=10, т. е. больше восьми: значит, надо вычесть 8. Получаем: 10-8=2. Их встреча во втором туре.

Это правило применимо к любому номеру участника, за исключением последнего четного номера. Чтобы определить, когда встречается участник, имеющий последний четный номер, например с четвертым, надо меньший номер умножить на 2. Если произведение будет меньше последнего номера (8-го), вычитается единица; если больше, то — последний номер. По нашему примеру 4-й номер умножаем на 2. Получаем 8. Произведение равно последнему номеру, следовательно, надо вычесть единицу: 8-1=7. Они играют в седьмом туре. Определим встречу номеров 7-го и 8-го. 7×2=14. Следовательно, вычитаем последний номер: 14-8=6 (шестой тур).

Что касается цвета фигур, то здесь нетрудно запомнить всего два правила:

1) Последний номер (только в случае если участников четное число) играет черными со всеми номерами, находящимися в первой половине таблицы, и белыми — с остальными.

2) Во всех остальных случаях, если сумма (или разность) номеров четна белыми играет больший номер, если нечетна то белыми играет меньший номер.

Способ 3

Вполне достаточно таблицы турнира, чтобы определить и очередность игры и цвет фигур, которыми предстоит играть участникам с тем или иным партнером.

Отчеркнем последнего игрока (если участников четное количество), у него свои правила.

Проведем главную диагональ в направлении перпендикулярном линии образованной заштрихованными клетками. Проведем диагональ и в заштрихованной клетке у участника с номером 1. Все партии на большой диагонали играют в 1 туре. Белыми играют участники из верхней половины таблицы.

В следующем туре встречаются пары следующих вправо диагоналей.

Участник, заштрихованную клетку которого пересекла диагональ очередного тура, либо, если участников четное число, играет с участником с последним номером, либо, при нечетном количестве участников, свободен от игры в данном туре.

Цвет фигур определяется следующим образом:

1) Последний номер (только в случае если участников четное число) играет черными со всеми номерами, находящимися в первой половине таблицы, и белыми — с остальными.

голоса
Рейтинг статьи
Ссылка на основную публикацию