木鸡 SteadyGame Alpha 冲刺第三天:真实倾斜输入与结果入口联调
木鸡 SteadyGame Alpha 冲刺第三天:真实倾斜输入与结果入口联调
| 作业信息 | 内容 |
|---|---|
| 课程 | 202601 福大—软件工程实践—W班 |
| 作业要求 | 团队作业:站立式会议+α冲刺 |
| 本篇目标 | 按 Day3 计划推进真实倾斜输入、共用碰撞、结果端点和公共校验;明确八位成员工作及下一日安排 |
| 参考资料 | 团队介绍、需求与原型、系统与数据库设计、Apifox 接口文档、SteadyGame 华为云仓库、《构建之法》第 2、13 章 |
一、Day3 讨论
- 日期:2026 年 10 月 25 日(冲刺第三天)
- 会议场景:小组围绕笔记本电脑开展项目讨论
- 讨论照片:

图 1:Day3 小组围绕开发任务开展讨论。
二、今日目标:把真实输入接入玩法,并准备统一结算
Day3 的工作重心从前一天的接口和模块骨架,推进到可以端到端联调的真实输入与结果入口。核心路径为:
摄像头 / 姿态快照
↓
姿态质量门控与站姿校准
↓
MotionInput(小球真实倾斜 / 切水果腕点)
↓
GameCoordinator 与玩法生命周期
↓
冻结 GameResult → 统一结果网关 → 模式结果端点 → 公共校验
小球开始使用真实倾斜输入;切水果和八段锦仍使用固定轨迹、特征样例推进规则,不等待所有识别工作完成。当天共同检查真实输入与样例输入的边界,并验证相交、错过、重复命中、阶段顺序和非法结果等情况。摄像头输入是否稳定、接口是否接入真实服务、结果是否写入真实数据库,分别作为独立验收项记录。
结算和保存到个人历史是两个动作:结果端点接收并校验游戏结果,POST /sessions/{sessionId}/save 则在用户明确同意后保存。
三、八位成员的 Day3 工作
| 成员 | 本日完成目标 | 重点问题与处理 | 下一次站会前安排 |
|---|---|---|---|
| 林晨 | 推进 GameCoordinator 的运行、暂停、恢复、结束和退出流转;质量事件触发本地暂停;统一结果网关按玩法映射 GameResult | 暂停是本地生命周期状态,不新增暂停 HTTP;暂停时冻结有效时钟并清理轨迹;重复结束只生成一次结果 | 补齐 resume、exit、重复 finish 与失败重试;失败重试沿用同一个 sessionId 和冻结结果,检查退出后订阅释放 |
| 郑雯心 | 完善相机与 PoseProvider 在短暂无人、持续丢失、模型错误和推理中断时的状态通知;覆盖开始失败和退出资源释放 | 不能把坏帧当正常姿态;无人/模型故障要通知协调器;重复开关不能产生多个推理循环 | 测试撤回摄像头同意、页面后台切换、设备中断与恢复;保证媒体轨道停止且不会重复订阅 |
| 王婉怡 | 完成站姿校准、倾斜基线、归一化 leanX、死区和平滑处理;提供清除历史输入的方法,并将有效倾斜交给小球 | 未校准时拒绝控制;校准丢点后重新采样;左右方向与预览一致;参数保持可配置 | 增加腕点连续性、跳变和采样间隔判断,为切水果输入准备;暂停、丢点和恢复时清理历史轨迹 |
| 林宇扬 | 将 MotionInput 的真实 leanX 接入 BalanceBallGame;用共用 sweptCircle 检查目标与障碍;推进小球结果字段及提交入口 | 目标只能消费一次;障碍按规则记录;终点奖励只能触发一次;有效游戏时间不应包含暂停时间 | 补齐 60 秒结束、提前退出、去重与结果边界;核对前端分数、结果指标和服务端校验规则 |
| 林凯 | 完成腕点轨迹与水果运动时间区间对齐;复用 CollisionDetector.sweptCircle;实现命中、漏切、实体去重和冻结结果的模块路径 | 快速穿越不能漏检;双腕同帧不能对同一水果重复计分;暂停恢复首点只建立新基线 | 补齐移动目标、同帧双腕和轨迹断点回归,验证命中、漏切及暂停恢复后的轨迹隔离 |
| 李想 | 以阶段特征样例推进托天、单举两式;完善 ready→raise→hold→recover 阶段顺序、尝试记录和结果字段映射 | 阶段不能越级;hold 计时遇到无效输入要按规则处理;内部 actionAttempts 映射为接口 metrics.attempts/actions;score 为 null | 补齐两式完整阶段循环、失败/中断尝试和汇总字段验证,再与公共校验器联调 |
| 孙田田 | 将协调器状态和结算快照接入页面;推进本人历史页面及 GET /records 查询状态,整理真实输入与固定样例的界面标识 | 页面需要区分加载、空数据、正常数据和请求失败;提交结果与已保存历史不能使用同一状态提示 | 完善结果页与历史四态;接入显式保存入口,并验证未保存的临时结果不会显示为个人历史 |
| 刘婷婷 | 推进 ResultValidator、validateAttempts 和 Repository 的公共校验/持久化路径;配合三种玩法的结果端点联调 | 同轮同结果重试应幂等;同轮不同结果应冲突;所有查询和写入都按服务端身份校验归属;未同意保存不得入历史 | 完成保存事务、重复保存和归属边界;与林晨、孙田田联调“临时结果—明确保存—本人历史”流程 |
四、接口口径与跨模块交接
4.1 小球结果口径
Apifox 的小球接口简介与字段说明存在差异:简介写作 targetsHit × 10,而字段定义包含到达终点的奖励。为统一前后端实现,计划采用与系统设计和字段定义一致的口径:
score = min(100, targetsHit × 10 + (reachedEnd ? 50 : 0))
使用“命中 2 个目标并到达终点”的样例区分两种口径,预期分数为 70。正式编码和接口联调前,由林晨、林宇扬、刘婷婷统一接口描述、schema、示例、实现和断言。
4.2 八段锦结果口径
八段锦接口简介出现阶段 ID/数量字段,但详细 schema 使用 metrics.attempts/actions,且不允许额外字段。计划以详细 schema 为 HTTP 请求体口径;内部 actionAttempts 由结果网关转换为 metrics.attempts,阶段动作汇总放在 metrics.actions。八段锦成绩字段固定为 null,不参加分数榜。
4.3 三方交接
- 王婉怡向玩法模块交付 MotionInput 字段、坐标单位、有效状态、失败原因及可重放样例。
- 林凯向林宇扬交付共享碰撞方法和相交/不相交用例;调用双方共用同一几何语义。
- 三位玩法负责人向林晨交付冻结的 GameResult、结束条件和结果字段映射。
- 林晨通过统一结果网关调用模式结果端点;刘婷婷复用公共身份、归属、幂等和结果校验;孙田田负责页面状态和查询展示。
- 测试由全员共同执行。每项交接包含代码/模块位置、输入输出样例、正常与失败路径、未覆盖边界及对应 Issue。
五、Day3 联调与测试清单
以下列出本日需要执行的验收场景。
| 测试场景 | 预期结果 | 证据形式 |
|---|---|---|
| 真实站姿校准与小球输入 | 完成校准后左右倾斜方向正确;未校准或输入无效时不推动小球 | 浏览器/设备、光照和站位记录;运行短视频 |
| 失跟踪与恢复 | 输入丢失触发暂停;暂停期间游戏时钟冻结并清理历史;恢复后首帧建立基线,不跨暂停连线 | 状态日志、输入时间戳与恢复演示 |
| 小球目标与终点 | 目标只计一次;障碍不重复累计;终点奖励只触发一次;结果分数与冻结口径一致 | 可重放输入样例、玩法单测、结果请求和响应 |
| 共用碰撞 | 相交、相切、错过、双方移动及快速穿越结果符合几何定义;小球与切水果调用同一碰撞实现 | 碰撞测试报告与模块调用记录 |
| 切水果计分去重 | 单个水果只计一次;腕点轨迹和水果移动按相同时间区间比较;错过不加分 | 轨迹样例、命中/漏切截图或测试输出 |
| 八段锦阶段与汇总 | 两式按合法阶段顺序推进;非法跳转不通过;尝试与动作汇总字段一致,score 为 null | 特征样例、状态机测试和 JSON 载荷 |
| 结果网关与幂等 | 同轮同结果重试返回原结果;异结果按契约冲突;退出/结束不会重复提交 | 脱敏请求/响应、服务日志和数据库记录 |
| 保存与历史 | 结果提交先保持临时状态;明确同意后才保存;本人历史只展示已保存记录 | 保存前后页面状态与 API 结果 |
六、代码、运行展示与缺陷跟踪
本日代码交接如下:
- 协调器生命周期与统一结果网关;
- 站姿校准、leanX 归一化和输入质量事件;
- 小球结果验证及共享 sweptCircle 调用;
- 切水果时间对齐、命中去重和结果端点;
- 八段锦阶段状态与 attempts/actions 转换;
- 页面结果状态、历史查询和明确保存流程;
- 公共结果校验、唯一性、归属与保存事务。
七、燃尽计划
燃尽图按真实 Issue 计算。以下是目前的 52 SP 基线:
| 时点 | 剩余 SP |
|---|---|
| D0 冲刺开始 | 52.00 |
| D1·10/23 | 44.57 |
| D2·10/24 | 37.14 |
| D3·10/25 | 29.71 |
八、AI 技术员
用代码助手生成协调器订阅与降级渲染、历史页筛选分页、recordQuery 纯函数与本地模拟运行器;人工核验了 listRecords 的 OpenAPI 参数、BaduanjinResult.score 必须为 null、未改动 GameCoordinator 与玩法类、36 例单测与构建。AI 输出被改或拒的地方:拒绝在协调器失败时跳转结算页、拒绝 pageSize 用 100、以及 AI 未发现样例 payload 缺陷。
九、Day3 复盘与 Day4 安排
Day3 的技术主线是让真实输入、玩法规则和结果接口各有清晰边界:小球进入真实倾斜联调;切水果用时间对齐的腕点轨迹检查共享碰撞;八段锦用阶段特征样例建立两式动作记录;三种结果都准备通过公共校验和统一网关。接下来我们小组打算查看画面是否能动,并确认暂停恢复、重复提交、结果归属和保存意愿是否各自生效。
按计划,Day4 将推进三种玩法的最短闭环:小球和切水果接入真实动作,八段锦先用固定特征样例完成阶段和结算;三种结果经统一网关提交并覆盖保存流程。再由团队全员交叉检查正常结束、提前退出、暂停恢复以及断网重试。若真实链路阻塞,团队决定先保证输入、规则、结果并保存主流程,暂时缩减装饰与非必要统计。
十、仓库页面截图
协调器尚未接入时的训练页提示:

本地模拟运行与结算页:


历史接口失败与筛选状态:


修复后的无残留回归截图:


相关推荐
产教融合实训基地与实践中心建设逻辑图-可编辑版
产教融合实训基地与实践中心建设逻辑图-可编辑版
idea2025-free.zip
idea2025-free.zip
sop基于灵敏度分析的有源配电网智能软开关优化配置升级1(Matlab代码实现)
内容概要:本文提出了一种基于灵敏度分析的有源配电网智能软开关(SOP)优化配置方法,旨在应对高比例分布式电源接入带来的电压波动与网络损耗加剧等问题。研究以IEEE33节点系统为算例,通过改进的灵敏度分析模型量化各节点对电压和功率流动的影响程度,进而构建SOP选址与定容的优化模型,实现降低网损、改善电压分布及提升系统运行灵活性的目标。全文详细阐述了灵敏度指标的数学推导、目标函数与约束条件的建模过程,并基于Matlab实现了完整的仿真求解流程,具备良好的工程实用性与学术参考价值。; 适合人群:电力系统及其自动化、电气工程等相关专业的硕士博士研究生、科研机构研究人员,以及从事智能配电网规划、运行与优化的工程技术人员。; 使用场景及目标:①研究分布式电源大规模接入背景下配电网的主动调控与优化策略;②指导智能软开关在实际配电网中的科学选址与容量配置;③为相关科研课题提供可复现的仿真案例,支撑学术论文撰写与算法验证。; 阅读建议:建议读者结合提供的Matlab代码与IEEE33节点标准模型进行动手实践,重点理解灵敏度指标的物理意义及其在优化模型中的应用逻辑,关注求解过程中的约束设置与算法收敛性,并可进一步拓展至SOP与储能联合配置、多时间尺度优化等复杂场景进行二次开发与研究。
Ubuntu安装Latex
关于Ubuntu安装Latex的详细记录和排错指南
高校技术转移办公室人员在成果转化过程中,如何实现科技成果与产业需求的高效对接?.docx
高校技术转移办公室人员在成果转化过程中,如何实现科技成果与产业需求的高效对接?


