Commit 9fa88ce1 authored by ganjingcun's avatar ganjingcun

竞技加分规则变更

parent 9dca4fc2
...@@ -169,7 +169,6 @@ router.post('/score', function (req, res) { ...@@ -169,7 +169,6 @@ router.post('/score', function (req, res) {
// select count(*) from battle_history where (usernameA = '爱吉' OR usernameB = '爱吉') and start_time > date '2017-02-09' // select count(*) from battle_history where (usernameA = '爱吉' OR usernameB = '爱吉') and start_time > date '2017-02-09'
// 日首胜 每日0点开始计算 日首胜的话是额外增加固定4DP // 日首胜 每日0点开始计算 日首胜的话是额外增加固定4DP
var today = moment().format('YYYY-MM-DD') var today = moment().format('YYYY-MM-DD')
// 真实得分 S(胜=1分,和=0.5分,负=0分) // 真实得分 S(胜=1分,和=0.5分,负=0分)
...@@ -207,6 +206,19 @@ router.post('/score', function (req, res) { ...@@ -207,6 +206,19 @@ router.post('/score', function (req, res) {
let ptResult = utils.getEloScore(userA.pt, userB.pt, sa, sb) let ptResult = utils.getEloScore(userA.pt, userB.pt, sa, sb)
let expResult = utils.getExpScore(userA.exp, userB.exp, userscoreA, userscoreB) let expResult = utils.getExpScore(userA.exp, userB.exp, userscoreA, userscoreB)
// 3分钟以内结束的决斗,胜者不加DP,负者照常扣DP。 平局不扣DP不加DP : 把开始时间+3分钟,如果加完比结束时间靠后,说明比赛时间不足三分钟
var isLess3Min = moment(start).add(3, 'm').isAfter(moment(end));
if(isLess3Min){
if (winner === usernameA) {
ptResult.ptA = userA.pt
console.log(usernameA, '当局有人存在早退,胜利不加分', moment().format('YYYY-MM-DD HH:mm'))
}
if (winner === usernameB) {
ptResult.ptB = userB.pt
console.log(usernameB, '当局有人存在早退,胜利不加分', moment().format('YYYY-MM-DD HH:mm'))
}
}
if (firstWin) { if (firstWin) {
if (winner === usernameA) { if (winner === usernameA) {
ptResult.ptA += 4 ptResult.ptA += 4
......
...@@ -5,8 +5,8 @@ var superagent = require('superagent') ...@@ -5,8 +5,8 @@ var superagent = require('superagent')
var mement = require('moment') var mement = require('moment')
var url = 'https://mycard.moe/ygopro/api/score' // var url = 'https://mycard.moe/ygopro/api/score'
//var url = 'http://localhost:3000/api/score' var url = 'http://localhost:3000/api/score'
console.log( mement().format()) console.log( mement().format())
superagent superagent
.post(url) .post(url)
...@@ -14,11 +14,11 @@ superagent ...@@ -14,11 +14,11 @@ superagent
accesskey: "XnvGjNG8jttfjYWhtqtgRfWBtyEwjMaF", accesskey: "XnvGjNG8jttfjYWhtqtgRfWBtyEwjMaF",
usernameA: "Joe1991", usernameA: "Joe1991",
usernameB: "zh99998", usernameB: "zh99998",
userscoreA: 1, userscoreA: 2,
userscoreB: 2, userscoreB: 1,
start: mement().format(), start: mement().format(),
end: mement().format(), end: mement().add(4,'m').format(),
arena: 'entertain' // 'athletic' 竞技 or 'entertain' 娱乐 arena: 'athletic' // 'athletic' 竞技 or 'entertain' 娱乐
}) })
.end(function (err, res) { .end(function (err, res) {
if (err) { if (err) {
......
...@@ -2,6 +2,12 @@ ...@@ -2,6 +2,12 @@
let Utils = { let Utils = {
getEloScore: function getEloScore(rA, rB, sA, sB) { getEloScore: function getEloScore(rA, rB, sA, sB) {
//17.07.18 增加规则,平局不加分.
if(sA === sB){
return { ptA: rA, ptB: rB }
}
let k = 32 let k = 32
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))
......
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