我希望能够排名用户有多快,他们已经完成了每一关。我希望这是一个全面的排行榜,即所有级别的总时间最短。
这里的问题是,对于每个完成的级别,完全完成时间都会增加。但我希望确保排行榜考虑到这一点,这样完成10个级别的用户将比只完成1个级别的用户排名更高。
我如何才能在此基础上创建某种分数?
发布于 2012-02-07 10:08:32
在将时间提交给排行榜之前。
您可以通过完成的级别数量对总时间进行调整,然后为完成的每个级别减少一定数量,以便完成所有级别的人在平均时间相同但级别较少的情况下得分更高。
我首选的方法是:
或者你可以用一个分数值来表示它。级别完成=1000。每一级都有一个设定的时限奖励,你花的时间越长,你得到的奖励就越少。例如
我在102秒内完成关卡,目标时间是120秒
我每完成一次就会得到1000分,每超过目标时间一秒就会得到1500分。
这样我将得到1000+ (18* 1500)= 28,000分
下一个人在100秒内完成
他得到1,000 + (20*1,500) = 31,000分
发布于 2012-02-07 09:48:44
我建议在每个未完成级别的总数中添加默认时间量。所以,比方说,如果玩家在3分钟内达到了一个新的水平,这就取代了10分钟的占位符时间,他们从总时间中‘节省’了7分钟。
如果没有这种技巧,iPhone就没有提供多因素排名。
发布于 2012-02-07 09:14:44
GameKit中的排行榜分数必须表示为单个数字(请参阅GameKit编程指南的此section ),因此这是不可能的。
你最好的办法就是为那些完成所有关卡的人设置一个完成时间排行榜,也许还有一个排行榜(或者几个排行榜)给那些完成了较少关卡的人。
https://stackoverflow.com/questions/9140750
复制相似问题