如何根据分数查找1对1比赛的评分?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何根据分数查找1对1比赛的评分?相关的知识,希望对你有一定的参考价值。
因此,我正在开发一款游戏,其中有两个玩家都具有初始评分。
现在,我想根据他们的分数来计算新的评分。
例如:如果player1
得分50
(无单位)并且player2
得分30
,则player1
等级应比玩家1得分40
和player2
30
并大获全胜。
Elo评分系统仅考虑输赢,不考虑赢利幅度。
任何帮助将不胜感激。
答案
让score1
为player1
的分数,而score2
为player2
的分数。因此,等级的更改为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比赛的评分?的主要内容,如果未能解决你的问题,请参考以下文章
华为OD机试 - 比赛评分(Java) | 机试题+算法思路+考点+代码解析 2023