# demo **Repository Path**: edigar/demo ## Basic Information - **Project Name**: demo - **Description**: 演示用的demo,上课用 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-09-16 - **Last Updated**: 2026-10-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 小游戏本地排行榜 · 多人协作演示仓库 《AI 时代的团队开发:Git、任务拆分与协作交付》课堂演示仓库。 一个能玩的反应力小游戏,团队用「任务卡 + 接口契约 + 任务分支 + Pull Request」的方式 给它加上本地排行榜,并用两次「反例」说明:**Git 没冲突,不等于功能正确**。 ## 30 秒上手 1. 双击根目录 `index.html`:当前 `main` 只有基线游戏,故意没有排行榜。 2. 测试命令:`node --test`(需要 Node 18.13+,零依赖,**不要 npm install**)。 3. 想看完整排行榜版本: ```powershell git switch demo/correct node --test # 预期 19 项全部通过 # 重新双击 index.html:玩一局 -> 输入昵称 -> 保存 -> 排行榜出现 ``` ## 分支一览 | 分支 | 内容 | 课堂用途 | | --- | --- | --- | | `main` | 公共基线:能玩、没有排行榜 | 出发点 | | `feat/score-store` | 同学 A:正确的数据层 + 契约测试 | 任务分支示例 | | `feat/score-store-wrong` | 同学 A:故意写错字段契约 | 反例素材,不要合进正确线 | | `feat/ranking-view` | 同学 B:排行榜视图 + 清空按钮 | 任务分支示例 | | `feat/game-integration` | 同学 C:入口接入 + 集成检查 | 任务分支示例 | | `demo/correct` | A+B+C 合并后的完整版本 | 正确合并线 | | `demo/business-conflict` | 错误 A + 正确 B/C | 业务冲突:合并干净、测试失败 6 项 | | `feat/text-conflict-a` / `feat/text-conflict-b` | 两份都改了 `src/game.js` 同一行 | 文本冲突现场演示 | ## 课堂怎么看 ```powershell git log --oneline --graph --all --decorate # 一张图看清分支与合并 git switch demo/correct git diff main --stat # 三个任务各自改了什么 git switch demo/business-conflict node --test # 预期 6 项失败:字段口径不一致 git switch feat/text-conflict-a git merge feat/text-conflict-b # 预期 src/game.js 冲突 git merge --abort # 演示完恢复现场 git switch main ``` ## 仓库里还有什么 - `接口契约.md`:先定接口再并行,字段、排序、异常、谁维护。 - `任务卡/`:同学 A / B / C 三张任务卡,9 项字段,一卡两用。 - `演示命令.md`:按课程顺序排列的演示命令与预期输出。 - `练习任务.md`:学生练习步骤与自检清单。 - `课堂资料/`:课堂演示稿(单文件 HTML,双击即看)与它的使用说明。 ## 注意 - 仓库里的提交作者是课堂用的虚拟身份(`实训演示同学 `),不是真实账号。 - 演示仓库请只读使用;自己的练习请在**自己 fork / clone 的仓库**里做。