Приложение для создания рейтинга питания с помощью алгоритма Glicko-2.
Основная идея этого приложения заключается в создании рейтинга питания. Первоначально предназначенный для конкурентных Super Smash Bros. Melee для Nintendo GameCube, GGSCORE может создавать PRS для каждой конкурентной дисциплины, в которой две стороны конкурируют друг с другом. Рейтинги создаются с помощью алгоритма Glicko-2.
Готовой сборкой можно найти в этом Dropbox.
Общей идеей использования этого инструмента является импорт турниров с Challonge.com. Для этого вам понадобится ключ API-разработчика от вашего Challonge-Account. Затем имена/псевдонимы игроков из наборов турнира должны быть связаны с игроками. Вы можете либо связать псевдоним с существующим игроком, либо создать новый (при импорте первого турнира вам, конечно, придется создать всех новых игроков). Результаты, состоящие из победителя, неудачника и даты матча, будут добавлены в таблицу в «Отчете о матче» -TAB и могут быть удалены вручную (или добавлены), если необходимо. После того, как вы импортируете свои результаты, вы должны ввести период рейтинга. Алгоритм будет учитывать только результаты, которые произошли в течение периода рейтинга. Рекомендуется позволить игроку иметь не менее 10-15 игр в период рейтинга, чтобы сделать рейтинг точным (особенно в течение первого периода оценки). Если «отчет о соответствии» становится слишком кластеризованным, вы можете использовать «Окончание рейтингов» в «периоды оценки» (где также показан фактический PR), чтобы очистить таблицы, отображающие результаты и периоды оценки. Это также означает, что вы не сможете удалить/добавить результаты из периодов оценки, существующих перед завершением, хотя (таким образом, завершают рейтинги до этой точки). Тем не менее, вы можете добавить/удалить и импортировать результаты, как и раньше.
Имейте в виду, что только результаты в течение периода рейтинга будут использоваться для расчета рейтинга. Также все результаты в период рейтинга рассматриваются как происходящие одновременно (по определению алгоритма Glicko-2). Это означает, что если вы создадите всех игроков с одинаковыми начальными значениями (предназначенное использование), будут только совпадения людей с точно такими же значениями. Таким образом, если в настоящее время есть PR, в настоящее время с одним рейтингом, и все игроки начали с 1500 баллов, и вы вводите результат (в настоящее время) игрока с рейтингом 1000, выигравшего с (в настоящее время) игрока с рейтингом 2000, весь расчет за этот период будет повторяться, и этот результат будет определяться в качестве игрока с рейтингом 1500 с рейтингом 1500-го рейтинга. Таким образом, первый период - это больше о получении общего представления о ценностях рейтинга, и расстройства будут иметь меньшее влияние. Это, вероятно, довольно распространенное поведение для алгоритма рейтинга. Чтобы избежать этого, вам придется предоставить точные начальные значения, но средний пользователь, вероятно, не должен (я бы не стал).
Это приложение состоит из двух модулей: API Glicko-2, который поставляет алгоритм Glicko-2 и графический интерфейс, поставляющий пользователя средствами для использования API и визуализации результатов вычислений. Это также связывает идентификаторы глико-игроков с их псевдонимом.
API Glicko-2 состоит из различных классов для настройки необходимых условий для применения алгоритма и, конечно, самого алгоритма:
GUI реализует средства для пользователя использовать API и отобразить результаты алгоритма. Это также управляет псевдонимом игроков, связывая их с удостоверением личности их Glicko-Counterpart. Кроме того, это создает все результаты (используя класс Glicko-Result) и сохраняет их вместе с датой, которую они были введены, чтобы произойти.
API Glicko-2 просто применяет алгоритм к существующим игрокам с любыми результатами. Таким образом, периоды рейтинга также реализованы, чтобы объединить результаты и дать их алгоритму.
Продолжение следует...
Если вы создаете заявку, как это из этого репо, формат даты будет Dd.mm.yyyy, который может быть изменен в файле GlobalVars.h. «DefaultFormatString» можно изменить с помощью спецификаторов, показанных здесь. Стандартный формат даты США будет «%m/%d/%y», а сборка может быть найдена в Dropbox.
Изменение формата даты может быть сделано, не беспокоясь о спасбросках (в основном результаты. Даты всегда сохраняются в формате ISO 8601 и отображаются только как описано в значении по умолчанию.
В этом приложении используется несколько API, которые должны быть построены и связаны, прежде чем вы сможете создать этот проект. Необходимыми API являются wxwidgets, jsoncpp и libcurl (7.62.0 используется, но другие должны работать, конечно, но вам придется изменить путь в предоставленном файле проекта, если вы хотите его использовать). Поставляемые файлы проекта Visual Studio требуют следующей структуры папок для успешного создания приложения:
└── ┐
├── GGScore
│ └── .git
│ └── PR Tool
├── wxWidget
│ ├── lib
│ └── include
├── jsoncpp-master
│ └── dist
└── curl-7.62.0
├── include
└── lib
Эти API статически связаны, только API Glicko-2 динамически связан (опять же, говоря только за предоставленный проект).