Commit 9fa88ce1 authored by ganjingcun's avatar ganjingcun

竞技加分规则变更

parent 9dca4fc2
......@@ -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'
// 日首胜 每日0点开始计算 日首胜的话是额外增加固定4DP
var today = moment().format('YYYY-MM-DD')
// 真实得分 S(胜=1分,和=0.5分,负=0分)
......@@ -207,6 +206,19 @@ router.post('/score', function (req, res) {
let ptResult = utils.getEloScore(userA.pt, userB.pt, sa, sb)
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 (winner === usernameA) {
ptResult.ptA += 4
......
......@@ -5,8 +5,8 @@ var superagent = require('superagent')
var mement = require('moment')
var url = 'https://mycard.moe/ygopro/api/score'
//var url = 'http://localhost:3000/api/score'
// var url = 'https://mycard.moe/ygopro/api/score'
var url = 'http://localhost:3000/api/score'
console.log( mement().format())
superagent
.post(url)
......@@ -14,11 +14,11 @@ superagent
accesskey: "XnvGjNG8jttfjYWhtqtgRfWBtyEwjMaF",
usernameA: "Joe1991",
usernameB: "zh99998",
userscoreA: 1,
userscoreB: 2,
userscoreA: 2,
userscoreB: 1,
start: mement().format(),
end: mement().format(),
arena: 'entertain' // 'athletic' 竞技 or 'entertain' 娱乐
end: mement().add(4,'m').format(),
arena: 'athletic' // 'athletic' 竞技 or 'entertain' 娱乐
})
.end(function (err, res) {
if (err) {
......
......@@ -2,6 +2,12 @@
let Utils = {
getEloScore: function getEloScore(rA, rB, sA, sB) {
//17.07.18 增加规则,平局不加分.
if(sA === sB){
return { ptA: rA, ptB: rB }
}
let k = 32
let eA = 1 / (1 + Math.pow(10, (rB - rA) / 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