- 每个示例的 checks.yaml:书上评价表的功能项转成操作步骤和期望结果(10 个示例共 23 项) - 引擎:编译一次,每项在沙箱里单独启动一次程序,按控件名操作、调节实训台、核对结果; 提示框自动点第一个按钮;全站同时最多跑 2 项 - 不通过时写明期望和实际,如"期望6 秒内 txt_even 的文字包含"发现入侵",实际是"正常""; 找不到书上规定的控件名时直接指出 - 规则写错时指出第几项第几步 - 测试:参考答案全部通过;编译错误、控件改名、判断写反、忘停定时器、接错 DO 口各自报出对应原因 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
18 lines
534 B
TypeScript
18 lines
534 B
TypeScript
// 自动评分的结果:服务器给学生程序逐项检查后返回,学生提交后立即能看到。
|
|
|
|
export interface CheckResult {
|
|
/** 检查项名称,对应书上评价表的功能项,如"能实时显示入侵数据" */
|
|
title: string
|
|
passed: boolean
|
|
/** 不通过的原因:期望看到什么、实际是什么 */
|
|
message?: string
|
|
}
|
|
|
|
export interface GradeResult {
|
|
/** 编译没通过时所有项都不通过 */
|
|
compiled: boolean
|
|
results: CheckResult[]
|
|
/** 评分用时(毫秒) */
|
|
ms: number
|
|
}
|