This commit is contained in:
hujiabin 2024-05-11 14:33:10 +08:00
parent 50677444b1
commit 606af0bb98

View File

@ -383,7 +383,7 @@ class FormulaService extends BaseService {
//胜负率=1-(排名-1)/(最大排名-1) //胜负率=1-(排名-1)/(最大排名-1)
// $ranked = getXVal($params, 'pvp_personal_rank'); // $ranked = getXVal($params, 'pvp_personal_rank');
// $teamRank = min(getXVal($params, 'pvp_team_rank'),10); // $teamRank = min(getXVal($params, 'pvp_team_rank'),10);
$maxRanked = mt\Parameter::getVal('rank_order_max',40); //************** parameter 参数表获取 ************ $maxRanked = mt\Parameter::getVal('rank_order_max',8); //************** parameter 参数表获取 ************
$winRate = 1-($ranked-1)/($maxRanked-1); $winRate = 1-($ranked-1)/($maxRanked-1);
//总胜率=70%*P(个人ELO值-敌队平均ELO值)+30%*P(己队平均ELO值-敌队平均ELO值) --> P(D)=1/(1+10^(-D/400)) //总胜率=70%*P(个人ELO值-敌队平均ELO值)+30%*P(己队平均ELO值-敌队平均ELO值) --> P(D)=1/(1+10^(-D/400))
$winRateSum = $winningPro; $winRateSum = $winningPro;
@ -401,7 +401,7 @@ class FormulaService extends BaseService {
//一个玩家的赛后积分 = 赛前积分+K/2*(MAX(胜负率-0.5,0))+K/2*(表现分-段位要求的及格分) 新 //一个玩家的赛后积分 = 赛前积分+K/2*(MAX(胜负率-0.5,0))+K/2*(表现分-段位要求的及格分) 新
$kArr = explode('|',mt\Parameter::getVal('rank_k',0)); //************** parameter 参数表获取 ************ $kArr = explode('|',mt\Parameter::getVal('rank_k',0)); //************** parameter 参数表获取 ************
$K = $kArr[$rankMeta['rank_order2']-1]; $K = $kArr[$rankMeta['rank_order2']-1];
$battleAfterScore = $userDb['score'] + $K/2 * max(($winRate-0.5),0) + ($K/2) * ($expreScore-$askedScore); $battleAfterScore = $userDb['score'] + $K * max(($winRate-$winningPro),0);
return round($battleAfterScore); return round($battleAfterScore);
} }