terminal-escape-room — 小型 CLI 逃脱游戏 (Python + Typer)
发布: (2026年2月11日 GMT+8 06:39)
2 分钟阅读
原文: Dev.to
Source: Dev.to
概览
这是 GitHub Copilot CLI 挑战的提交作品。
terminal-escape-room 是一个跨平台的 CLI 文本密室逃脱游戏。你可以通过 JSON 定义的房间进行游戏,每个房间最多请求两次提示,提交答案,获得积分(提示会扣分),并且进度会本地持久化到 .escape_state.json 保存文件中。
技术栈
- Python 3.11+
- Typer – CLI 框架
- Rich – 格式化输出
- Pytest – 测试套件
仓库
https://github.com/aisamposhen/terminal-escape-room
安装与快速运行
python3 -m venv .venv
source .venv/bin/activate
pip install -e .[test]
# 命令
escape start
escape status
escape hint
escape answer "kernel"
escape reset
90 秒演示大纲
escape start
escape status
escape hint
escape answer "kernel"
escape answer "^"
escape answer "git switch -c feature"
开发过程
我使用 GitHub Copilot CLI 作为终端优先的配对程序员,快速迭代以下内容:
- Typer 命令结构(
start、status、hint、answer、reset) - 一个小型引擎层(房间进度 + 提示次数限制)
- 稳定的 JSON 持久化模式(
started_at、finished_at) - 计分规则和测试
效果不错的做法:
将提示写得非常具体(输入/输出、边界情况、文件范围),随后立即使用 pytest 锁定更改。
示例工作流:
- 向 Copilot CLI 请求首次实现(一次聚焦一个模块)。
- 运行测试。
- 让 Copilot CLI 生成/调整测试以覆盖边界情况。
- 在行为确定后进行重构。
本地使用
该项目是自包含的,不依赖外部服务。只需按照上面的安装步骤操作,即可在本地尝试。