如何根据分数查找1对1比赛的评分?

问题描述 投票:0回答:1

因此,我正在开发一款游戏,其中有两个玩家都具有初始评分。

现在,我想根据他们的分数来计算新的评分。

例如:如果player1得分50(无单位)并且player2得分30,则player1等级应比玩家1得分40player2 30并大获全胜。

Elo评分系统仅考虑输赢,不考虑赢利幅度。

任何帮助将不胜感激。

algorithm rating rating-system
1个回答
0
投票

score1player1的分数,而score2player2的分数。因此,等级的更改为abs(score1 - score2) / x,其中x是您可以更改的变量。假设您使用JavaScript,这是评分计算的完整代码。

function calcRating() {
  var i = 1;
  var score1 = document.getElementById('score1').value;
  var score2 = document.getElementById('score2').value;
  var player1 = document.getElementById('player1').value;
  var player2 = document.getElementById('player2').value;
  var a = player1;
  var b = player2;
  if (score1 > score2) {
    player1 = a - (0 - (score1 - score2) / i);
    player2 = b - (score1 - score2) / i;
    document.getElementById('player1').value = player1;
    document.getElementById('player2').value = player2;
    document.getElementById('score1').value = 0;
    document.getElementById('score2').value = 0;
  } else if (score1 < score2) {
    player1 = a - (score1 - score2) / x;
    player2 = b - (0 - (score1 - score2) / x);
    document.getElementById('player1').value = player1;
    document.getElementById('player2').value = player2;
    document.getElementById('score1').value = 0;
    document.getElementById('score2').value = 0;
  }
}
<button id="button" onclick='calcRating()'>Click to calculate ratings</button>

<br> Player1 score: <input type="text" id="score1" value="0"></input>

<br> Player2 score: <input type="text" id="score2" value="0"></input>

<br> Player1 rating: <input type="text" id="player1" value="0"></input>
<br> Player2 rating: <input type="text" id="player2" value="0"></input>

您可以弄乱HTML中的输入以手动更改评分和分数,以及x,这是将评分差异附加到评分值之前将其除以分数的数字。

© www.soinside.com 2019 - 2024. All rights reserved.