这个项目能做什么
VIM Master 是一款交互式的、基于浏览器的 Vim 学习游戏。玩家无需阅读文档,而是在模拟的编辑器环境中完成短小精悍的课程,游戏设有渐进难度和游戏化元素,如经验值、连击、成就和徽章。
README 中描述的主要功能:
- 在模拟的 Vim 编辑器中进行交互式学习。
- 游戏化:经验值、连击、成就和徽章。
- JSON 驱动的内容引擎:每节课都是一个独立的 JSON 文件。
- 练习场:用于限时速度和准确性挑战。
- 作弊模式:一个易于访问的命令参考。
- 本地保存进度、徽章和经验值,支持导入/导出。
本地运行需要克隆仓库、使用 npm 安装依赖、运行检查脚本并启动开发服务器。游戏通过 Vite 提供服务,通常位于 http://localhost:5173/。
架构:从 V3 开始,项目采用内容平台架构。引擎消费内容而非硬编码课程。课程位于 content/lessons/*.json,构建步骤(npm run build:content)将其编译为引擎读取的 content/index.json。仓库组织为 content(课程和模式)、docs(社区指南、架构、原则)、js(引擎、进度系统、UI 组件)和 tests。
测试与验证:项目描述了一个四部分策略。契约套件根据严格模式验证 JSON 课程。黄金套件将课程解决方案数组中的精确按键序列通过引擎运行,并检查最终编辑器状态是否与 targetContent 匹配。回归套件防止先前修复的 bug 复发,单元套件验证内部状态逻辑和辅助函数。所有测试均可通过 npm run check 运行。
贡献:该架构旨在让贡献者无需理解引擎即可添加课程。添加课程的流程是复制现有 JSON 文件、编辑文本并提交拉取请求,具体指南见 docs/community/contributing-a-lesson.md。
路线图项目包括已完成的 JSON 驱动内容迁移、包含测试套件、文档和游戏化的社区 alpha 版、进行中的 V3 UX 打磨(首次用户体验、极简 UI、降低认知负荷),以及计划中的公开测试版。项目以 MIT 许可证发布。
评论
0 人表达喜爱 · 满10人后显示 Deer Point
登录后参与讨论。