通过Glicko-2算法创建功率排名的应用程序。
此应用程序的基本思想是创建功率排名。 GGSCORE最初打算为Nintendo Gamecube的竞争性超级粉碎兄弟近战,能够为每个竞争性纪律创建PR,双方相互竞争。评级是通过Glicko-2算法创建的。
可以在此Dropbox中找到即时构建。
使用此工具的总体想法是从Challonge.com进口锦标赛。为此,您将需要Challonge-Account的开发人员API键。然后,球员的名字/别名必须与球员相关联。您可以将别名与现有玩家相关联或创建新玩家(导入第一个比赛时,您当然必须创建所有新玩家)。由获胜者,失败者和比赛日期组成的结果将在“匹配报告” -TAB中添加到表中,并可以手动删除(或添加)(如果需要)。一旦导入结果,就必须输入评级期。该算法仅考虑在评级期内发生的结果。建议让玩家在评分期间至少有10-15场比赛,以使评级准确(尤其是在第一个评分期间)。如果“匹配报告”过于群集,则可以在“评分期间” -TAB(也显示实际PR)中使用“最终级评级” - 选项清除显示结果和评分周期的表。这也意味着您将无法在最终确定之前删除/添加评级期的结果(从而最终确定等级到这一点)。但是,您可以像以前一样添加/删除和导入结果。
请记住,仅在评分期内结果将用于计算评分。同样,在评级期内的所有结果都被视为立即发生(通过Glicko-2算法的定义)。这意味着,如果您创建具有相同起始值(预期用途)的所有玩家,则只有具有相同值的人的匹配项。因此,如果当前只有一个评分期,所有球员都以1500个评分积分开始,并且您输入了(当前)1000个评价的球员的结果,以(当前)为2000级的2000级球员赢得了胜利,则该期间的整个计算将重复,并且该结果将被视为1500名竞争者在1500名中赢得了1500名等级的球员。因此,第一阶段更多地是关于对评分值的一般想法,而不设置的影响将较小。对于评级算法,这可能是一种非常普遍的行为。为了避免这种情况,您必须提供准确的启动值,但是普通用户可能不应该(我不会)。
该应用程序由两个模块组成:Glicko-2 API,该模块提供了Glicko-2算法和GUI为用户提供使用API的方法并可视化计算结果。它还将Glicko-Players的ID与他们的别名联系起来。
Glicko-2 API由各种类别组成,以设置所需的条件以应用算法,当然还有算法本身:
GUI的实施意味着用户使用API并显示算法的结果。它还管理着玩家的别名,将他们与Glicko-Counterpart的ID相关联。除此之外,它还会创建所有结果(使用Glicko-Result类),并将其与输入的日期一起保存。
Glicko-2 API仅将算法应用于现有播放器,并将其传递给它。因此,在这里也实现了评分期,以捆绑结果并将其列入算法。
待续...
如果您按照此回购构建应用程序,则日期格式将为dd.mm.yyyy,可以在globalvars.h文件中更改。可以使用此处显示的规范更改“ DefaultFormAttring”。美国标准日期格式将为“%m/%d/%y”,并且可以在Dropbox中找到构建。
可以更改日期格式,而不必担心保存文件(主要是结果。日期始终保存在ISO 8601格式中,仅如DefaultFormatString-value所述显示。
该应用程序使用一些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是静态链接的,只有Glicko-2 API是动态链接的(同样,仅对提供的项目文件说话)。