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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何根据分数查找1对1比赛的评分?相关的知识,希望对你有一定的参考价值。

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

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

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

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

任何帮助将不胜感激。

答案

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>

以上是关于如何根据分数查找1对1比赛的评分?的主要内容,如果未能解决你的问题,请参考以下文章

用于计算分数的 UDF - 根据预定义的参数对输入进行评分

团队成员贡献分分配规则—1702班三组

华为OD机试 - 比赛评分(Java) | 机试题+算法思路+考点+代码解析 2023

华为OD机试 - 比赛评分(Java) | 机试题+算法思路+考点+代码解析 2023

P5738 深基7.例4歌唱比赛

小米机试厨艺大赛奖金