2017-03-17 19 views
0

我正在为正在开发的游戏创建排名公式。我希望能够找出谁是最好的球员是基于两个标准:如何为游戏创建排名算法

  1. 时间
  2. 步骤

有一个任务牛逼每个玩家必须完成。这个想法是在最短时间内完成它最小步骤

如果没有保持有限的时间(1800秒)和有限的步骤(25),我不能拿出任何东西。

enter image description here

基于上述计算,播放器5是最好的,然后玩家1

但是,我们可以清楚地看到播放器4具有更好的数字。

我该如何改进或者有其他计算方法?

+0

我不明白你为什么用*差异* *来区分*时间差。将它们添加到对方会不会更有意义? – PJvG

+0

是的......现在我知道了 –

+0

没有规范的方式来安排1d规模的2D数据。取决于您的要求,由您决定什么是有意义的。 –

回答

2

您可以使用加权算术平均值。时间和步骤将具有价值。例如:

TimeV = 1 
StepsV = 90 

Score = (Time*TimeV+Steps*StepsV)/Time+Steps 

您必须决定哪个是更重要的时间或步骤数。在例子中,时间和步骤是重要的。

0

您可以规范时间和步骤。

选择时间的“最大值”和步骤的“最大值”(例如已经使用的1800和25)。现在将其归一化为1.所有时间和步长值现在应该介于0和1之间。最后将归一化的值一起添加。

因此,例如900/1800 = 0.5。和12/25 = 0.48。如果你将这些加在一起,你会得到0.98的分数。如果你这样做的每个球员,你会发现,他们会得到如下成绩:

  • 玩家1:0.98
  • 玩家2:0.82
  • 玩家3:0.8267
  • 播放器4 :0.7733
  • 球员5:0.8667

从这里就可以看出,播放器4具有最低的分数,这是你想要的。

如果您希望时间或步骤的权重超过最终分数,您可以更改时间和步骤(现在分别为1800和25)的最大值以调整哪一个更重要,或者您可以添加将两个归一化值加在一起之前的权重。