Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Y
ygopro-arena-api
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Locked Files
Issues
0
Issues
0
List
Boards
Labels
Service Desk
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Security & Compliance
Security & Compliance
Dependency List
License Compliance
Packages
Packages
List
Container Registry
Analytics
Analytics
CI / CD
Code Review
Insights
Issues
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
MyCard
ygopro-arena-api
Commits
9fa88ce1
Commit
9fa88ce1
authored
Jul 18, 2017
by
ganjingcun
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
竞技加分规则变更
parent
9dca4fc2
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
25 additions
and
7 deletions
+25
-7
routes/api.js
routes/api.js
+13
-1
test.js
test.js
+6
-6
utils/utils.js
utils/utils.js
+6
-0
No files found.
routes/api.js
View file @
9fa88ce1
...
@@ -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
...
...
test.js
View file @
9fa88ce1
...
@@ -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
)
{
...
...
utils/utils.js
View file @
9fa88ce1
...
@@ -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
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment