feat(挑战): 做对之后可以加一条写法上的限制再做一遍,判题时记下谁做到了
借小丑牌的赌注档:同一道题加一条限制(「整首歌只用 1 次 print」)再做一遍, 给课上做得快的学生找事做(做完一节课的题,中位要空等 13 分钟)。 判定沿用 AST 规则,挑战配在 problem.challenges,做到的记在 challenge_success; 做对的提交顺手判一遍,挑战没做到也照样算做对。没过的规则带上是第几行。 0039 灌进第一批 56 道常用题的 73 条挑战,api 起来后拿历史上做对的代码补一遍谁已经做到了。 出题页能配挑战、从做对的代码里找候选;课堂看板的格子带上挑战状态。 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
cc1361e596
commit
0faf78ad8f
17 files changed
+9057
-37
No files matched your search
@@ -22,6 +22,7 @@ import { problemStatsRoutes } from "./routes/problem-stats"
|
||||
import { submissionRoutes } from "./routes/submission"
|
||||
import { trialRunRoutes } from "./routes/trial-run"
|
||||
import { siteRoutes } from "./routes/site"
|
||||
import { scanPendingChallenges } from "./services/challenge"
|
||||
import {
|
||||
bridgeSubmissionEvents,
|
||||
isAllowedWebSocketOrigin,
|
||||
@@ -165,3 +166,6 @@ const server = Bun.serve<SubmissionSocketData>({
|
||||
await bridgeSubmissionEvents(server)
|
||||
startSessionSweep()
|
||||
console.log(`OJ2 API listening on http://localhost:${server.port}`)
|
||||
// 迁移刚灌进来、或者上次没补完的挑战:拿历史上做对的代码补一遍谁已经做到了。
|
||||
// 晚一点再跑,别和刚起来时涌进来的请求抢那两个核
|
||||
setTimeout(() => void scanPendingChallenges(), 20_000)
|
||||
Reference in new issue
Block a user