此项目旨在实现一个融合打字游戏和肉鸽(Roguelike)体验的游戏, 游戏名暂定《Super Type》. 玩家通过键盘输入消灭不断逼近的敌人,体验职业特色技能与随机强化的组合乐趣。
- 核心框架: React + TypeScript + Vite
- 样式: Tailwind CSS
- 状态管理: React Context 或 Zustand
- 构建工具: Vite
玩家开始游戏时选择一个职业,每个职业有基础属性和特殊技能。
-
程序员 (Programmer)
- 特点: 攻速快,连击收益高,初始 HP 较低。
- 被动: Code Autocomplete - 每连续正确输入 10 个字符,自动消除屏幕上随机一个敌人的首字母。
- 主动技能: Debug Mode - 冻结所有敌人 3 秒,且显示下一次攻击的暴击点 (CD: 45s)。
- 专属敌人: 虫子 (Bug), 内存泄漏 (Memory Leak), 需求变更 (Requirement Change).
-
律师 (Lawyer)
- 特点: 单词较长但单词库多为法律术语,金币获取率高。
- 被动: Billable Hours - 消灭敌人获得的金币 +20%。
- 主动技能: Objection! - 发出一声怒吼,击退屏幕上所有敌人并造成少量伤害 (CD: 30s)。
- 专属敌人: 愤怒委托人 (Angry Client), 对方律师 (Opposing Counsel), 堆积文件 (Paperwork).
-
教师 (Teacher)
- 特点: 平衡型,生存能力较强。
- 被动: Pop Quiz - 敌人生成时有 10% 几率变成“送分题”(单词长度减半)。
- 主动技能: Silence - 沉默全场,停止所有敌人的特殊攻击效果,持续 5 秒 (CD: 40s)。
- 专属敌人: 调皮学生 (Naughty Student), 没交的作业 (Missing Homework), 迟到 (Late).
- 战斗: 敌人从屏幕右侧生成并向左移动。每个敌人头顶悬浮一个单词。
- 攻击机制:
- 玩家键入敌人头顶单词的首字母即可“锁定”该敌人。
- 锁定后,后续输入必须匹配该敌人的单词。
- 完成输入后敌人受到伤害(普通敌人直接消灭,精英/Boss扣血)。
- 按
Esc或Backspace可以取消锁定(或设定为自动切换,视手感测试而定)。
- 失败条件: 敌人触碰到玩家角色(屏幕左侧),玩家扣除 HP。HP 归零游戏结束。
- 波次 (Waves): 游戏按波次进行,每波有固定数量或时间的敌人。
- 休息室 (Shop/Rest):
- 每完成一波(或特定波次),进入三选一奖励环节。
- 奖励类型:
- 属性提升: 攻速(打字响应延迟降低)、暴击(一定几率秒杀单词)、HP上限。
- 道具: 咖啡(回血)、机械键盘(增加击退效果)。
- 诅咒: 获得强大力量但敌人速度变快。
详细任务列表请参阅 TASKS.md。
- 安装依赖:
npm install - 启动开发服务器:
npm run dev