Commit 3f37a9d5 authored by Joe's avatar Joe

积分规则修改

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