我有一个用php/mysql构建的网站,我正在寻求帮助,以便与一个程序员交流我希望他用我正在尝试创建的投票/预测游戏做什么。
为了便于讨论,假设一个游戏,其中可能有100名玩家试图预测前5名,在一个高尔夫比赛中,可能有9名高尔夫球手。
我正在寻求帮助,如何创造和分配一个基于预测的准确性得分。
玩家提供一个等级排序使用拖放功能,从1到5的顺序。这个顺序已经被编码了,列组以某种方式存储在数据库中(我不知道如何存储)。
我最初的想法是让程序员创建一个脚本,为每个被提名进入前5名的高尔夫球手分配1到5的分数。
所以,一个预测完美的球员将获得12345的完美分数。
他的第一个高尔夫球手第一次得分是1,第二次得分是2,第三个高尔夫球手第三次得分是3,以此类推。
任何不完美的人的分数都会高于12345。
前四个位置正确的球员必须根据第五个高尔夫球手的完成情况进行区分。
所以,一个可能得分12347,另一个可能得分12348,得分最高的球员(12348)将是两名球员对决中的失败者。
一个表现糟糕的球员,可能会得到53419分。
问题:
这是一个可行的方式创造一个得分,我的游戏玩家可以排名?
有没有可能简单地计算出一个类似于斯皮尔曼的等级关联,比较每个球员的实际完成位置和预测完成位置,
然后根据排名的相关系数对球员进行排名?
感谢你的帮助,在我不知道我希望他提前做什么的时候,在接近一个很恼火的程序员之前,先弄清楚如何把这个概念化。
最佳答案
这是一个很有趣的问题。
似乎在评分中需要考虑三个因素:正确预测的数量、正确预测的顺序和正确预测的权重。
例如,假设事实是:
1,5,10,15,20号
以下是一些预测:
1,6,7,8,9:仅预测第一个
2,1,10,21,30:1和10,但1的顺序不正确
20,15,1,5,30:在前5名中击4,但顺序不正确
这取决于你最看重什么。您可以首先检查用户预测的前5名中有多少人,添加一个值,然后惩罚错误的订单。每个位置的重量也应该不同,这样
1,5,10,15,20将排名高于1,5,10,20,15并高于1,10,5,20,15
斯皮尔曼可能在工作,但我觉得这对你来说太粗糙了。
关于algorithm - 如何在排名/预测任务中给玩家打分?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23899227/