计分引擎

五种计分模式(GAME_POINT / ACCUMULATIVE / TIMED)+ 让分 + 双打发球轮转。参数全部从 scoring_profiles.params 读取,不写死。

计分制 得分序列 计时脚本

① 参数回显(来自 params 字段)

参数值来源
half_min10params[half_min]
interval_min2params[interval_min]
sudden_pointTrueparams[sudden_point]
stop_clock_last_sec30params[stop_clock_last_sec]
typeTIMEDparams.type
flow 触发HALF_TIME、PRE_MATCH、HALF_TIME

② 逐分录入与判定

分比分发球事件
112 : 9A/0/右POINT
212 : 9A/0/右LEAD_INTERVAL
312 : 9A/0/右LEAD_INTERVAL
412 : 9A/0/右LEAD_INTERVAL

③ 边界用例一键演示

A侧 B侧

④ 让分展示(起始比分)

该计分制(TIMED)不适用让分

⑤ 事件流

序事件关键点
1LEAD_INTERVAL{"trigger": "PRE_MATCH", "sec": 20}
2POINT{"scorer": "A", "phase": "up", "a": 1, "b": 0}
3POINT{"scorer": "A", "phase": "up", "a": 2, "b": 0}
4POINT{"scorer": "A", "phase": "up", "a": 3, "b": 0}
5POINT{"scorer": "A", "phase": "up", "a": 4, "b": 0}
6POINT{"scorer": "A", "phase": "up", "a": 5, "b": 0}
7POINT{"scorer": "A", "phase": "up", "a": 6, "b": 0}
8POINT{"scorer": "A", "phase": "up", "a": 7, "b": 0}
9POINT{"scorer": "A", "phase": "up", "a": 8, "b": 0}
10POINT{"scorer": "A", "phase": "up", "a": 9, "b": 0}
11POINT{"scorer": "A", "phase": "up", "a": 10, "b": 0}
12POINT{"scorer": "A", "phase": "up", "a": 11, "b": 0}
13POINT{"scorer": "A", "phase": "up", "a": 12, "b": 0}
14POINT{"scorer": "B", "phase": "up", "a": 12, "b": 1}
15POINT{"scorer": "B", "phase": "up", "a": 12, "b": 2}
16POINT{"scorer": "B", "phase": "up", "a": 12, "b": 3}
17POINT{"scorer": "B", "phase": "up", "a": 12, "b": 4}
18POINT{"scorer": "B", "phase": "up", "a": 12, "b": 5}
19POINT{"scorer": "B", "phase": "up", "a": 12, "b": 6}
20POINT{"scorer": "B", "phase": "up", "a": 12, "b": 7}
21POINT{"scorer": "B", "phase": "up", "a": 12, "b": 8}
22POINT{"scorer": "B", "phase": "up", "a": 12, "b": 9}
23CHANGE_ENDS{"game": "HALF", "trigger": "HALF_TIME"}
24LEAD_INTERVAL{"trigger": "HALF_TIME", "sec": 120}

⑥ 统计

A 12 : 9 B · 局/段 1 · 事件 24  ·  written=false(本次只算未写库)
整场结束:A 胜 · TIME_UP
← 返回首页  |  阶段注册表  |  分组+淘汰