2017-03-17 55 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)的最大值以調整哪一個更重要,或者您可以添加將兩個歸一化值加在一起之前的權重。