通過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是動態鏈接的(同樣,僅對提供的項目文件說話)。