Commit 3f37a9d5 authored by Joe's avatar Joe

积分规则修改

parent e2c65dc0
......@@ -250,7 +250,7 @@ router.post('/score', function (req, res) {
//新增记分规则,双方DP差距超过137的话,
//按加减10或22处理:高分赢低分 高分加10低分减10,低分赢高分,低分加22,高分减22.
//按加减8或16处理:高分赢低分 高分加8低分减8,低分赢高分,低分加16,高分减16.
if (userA.pt - userB.pt > 137) {
if (winner === usernameA) {
ptResult.ptA = userA.pt + 8
......@@ -279,8 +279,6 @@ router.post('/score', function (req, res) {
}
}
// 3分钟以内结束的决斗,胜者不加DP,负者照常扣DP。 平局不扣DP不加DP : 把开始时间+3分钟,如果加完比结束时间靠后,说明比赛时间不足三分钟
var isLess3Min = moment(start).add(1, 'm').isAfter(moment(end));
if (isLess3Min) {
......
......@@ -13,27 +13,28 @@ var sametime = start == end
console.log(sametime)
// var url = 'https://mycard.moe/ygopro/api/score'
// var url = 'http://localhost:3000/api/score'
// console.log( moment().format())
// superagent
// .post(url)
// .send({
// accesskey: "XnvGjNG8jttfjYWhtqtgRfWBtyEwjMaF",
// usernameA: "Joe1991",
// usernameB: "zh99998",
// userscoreA: 1,
// userscoreB: 2,
// start: moment().format(),
// end: moment().add(6,'m').format(),
// arena: 'athletic' // 'athletic' 竞技 or 'entertain' 娱乐
// })
// .end(function (err, res) {
// if (err) {
// console.log(err)
// return
// }
// console.log(res.text)
// })
var url = 'http://localhost:3000/api/score'
console.log( moment().format())
superagent
.post(url)
.send({
accesskey: "XnvGjNG8jttfjYWhtqtgRfWBtyEwjMaF",
usernameA: "Joe1991",
usernameB: "zh99998",
userscoreA: 3,
userscoreB: 2,
start: moment().format(),
end: moment().add(6,'m').format(),
arena: 'athletic' // 'athletic' 竞技 or 'entertain' 娱乐
})
.end(function (err, res) {
if (err) {
console.log(err)
return
}
console.log(res.text)
})
// var Utils = require('./utils/utils')
......
......@@ -4,7 +4,7 @@ let Utils = {
getEloScore: function getEloScore(rA, rB, sA, sB) {
//17.07.18 增加规则,平局不加分.
if(sA === sB){
if (sA === sB) {
return { ptA: rA, ptB: rB }
}
......@@ -12,19 +12,59 @@ let Utils = {
let eA = 1 / (1 + Math.pow(10, (rB - rA) / 400))
let eB = 1 / (1 + Math.pow(10, (rA - rB) / 400))
let rrA = rA + k * (sA - eA)
var diffA = k * (sA - eA);
// 如果算出的变动分数小于8或者大于16就按8和16计
if (diffA > 0 && diffA > 16) {
console.log("diffA 加分大于16 按16分结算", diffA);
diffA = 16;
}
if (diffA > 0 && diffA < 8) {
console.log("diffA 加分小于8 按8分结算", diffA);
diffA = 8;
}
if (diffA < 0 && diffA > -8) {
console.log("diffA 扣分小于8 按8分结算算", diffA);
diffA = -8;
}
if (diffA < 0 && diffA < -16) {
console.log("diffA 扣分大于16 按16分结算", diffA);
diffA = -16;
}
let rrA = rA + diffA;
// 加分高于16
// if( (rrA - rA) > 16 ) {
// rrA = rA + 16;
// }
var diffB = k * (sB - eB);
// // 扣分低于8
// if( (rA - rrA) < 8 ) {
// rrA = rA - 8;
// }
// 如果算出的变动分数小于8或者大于16就按8和16计
if (diffB > 0 && diffB > 16) {
console.log("diffB 加分大于16 按16分结算", diffB);
diffB = 16;
}
if (diffB > 0 && diffB < 8) {
console.log("diffB 加分小于8 按8分结算", diffB);
diffB = 8;
}
if (diffB < 0 && diffB > -8) {
console.log("diffB 扣分小于8 按8分结算算", diffB);
diffB = -8;
}
if (diffB < 0 && diffB < -16) {
console.log("diffB 扣分大于16 按16分结算", diffB);
diffB = -16;
}
let rrB = rB + diffB;
let rrB = rB + k * (sB - eB)
console.log(diffA, diffB);
// // 加分高于16
// if( (rrB - rB) > 16 ) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment