90 lines
2.4 KiB
Markdown
90 lines
2.4 KiB
Markdown
# 第 2 关开发文档:1-2 右手基准键 JKL;
|
||
|
||
对应规划:`分关难度规划.md` → 第 1 章 · 基准键入门 → **1-2**。
|
||
完全复用第 1 关引擎、页面、判定、音效与进度存储。**只改键位与文案。**
|
||
|
||
细则见 `开发文档-第1关.md`,本文只写差异。
|
||
|
||
---
|
||
|
||
## 1. 与 1-1 的差异
|
||
|
||
| 项 | 1-1 | 1-2 |
|
||
|----|-----|-----|
|
||
| 字符集 | `a s d f` | `j k l ;` |
|
||
| 手 | 左手 | 右手 |
|
||
| 键盘启用键 | ASDF | JKL; |
|
||
| 通关后解锁 | 1-2 | 1-3 |
|
||
|
||
其余全部相同:40 键、连续同一字符不超过 3 次、打错不前进、Backspace 无效、正确率 ≥ 90%(最多错 4 次)、不卡速度、强制显示键盘、卡通配色、打对/打错音效、`localStorage` 键名 `typing-progress-v1`。
|
||
|
||
---
|
||
|
||
## 2. 指法映射
|
||
|
||
与左手镜像,同色表示同一根手指类型:
|
||
|
||
| 键 | 手指 | 颜色(与 1-1 对应) |
|
||
|----|------|---------------------|
|
||
| `J` | 右手食指 | 蓝(同 F) |
|
||
| `K` | 右手中指 | 绿(同 D) |
|
||
| `L` | 右手无名指 | 黄(同 S) |
|
||
| `;` | 右手小指 | 橙(同 A) |
|
||
|
||
---
|
||
|
||
## 3. 关卡配置
|
||
|
||
```js
|
||
{
|
||
id: "1-2",
|
||
chapter: 1,
|
||
title: "右手基准键 JKL;",
|
||
charset: ["j", "k", "l", ";"],
|
||
length: 40,
|
||
allowSpace: false,
|
||
caseSensitive: true,
|
||
passAccuracy: 0.90,
|
||
passKpm: null,
|
||
unlockNext: "1-3",
|
||
showKeyboard: true,
|
||
generate: "random-from-charset",
|
||
playable: true
|
||
}
|
||
```
|
||
|
||
`;` 使用 `event.key === ";"`。Shift 产生的 `:` 视为错误。
|
||
|
||
---
|
||
|
||
## 4. 文案
|
||
|
||
| 位置 | 文案 |
|
||
|------|------|
|
||
| 选关卡片标题 | 1-2 右手基准键 |
|
||
| 选关卡片副标 | 只打 J K L ;,正确率 90% 即可通关 |
|
||
| 练习顶栏 | 第 2 关 · 右手基准键 JKL; |
|
||
| 指法提示 | 食指放 J,小指放分号。请看着屏幕,不要看键盘。 |
|
||
| 键盘下方 | 右手:食指 J · 中指 K · 无名指 L · 小指 ; |
|
||
| 通关 | 通关!右手基准键已经记住了。 |
|
||
| 未通关 | 再练一次。先求正确,再求速度。 |
|
||
| 解锁提示 | 已解锁 1-3 左右交替 |
|
||
|
||
---
|
||
|
||
## 5. 解锁
|
||
|
||
- 通关 1-1 后 1-2 可进入(已有逻辑)
|
||
- 通关 1-2 后写入 `unlocked: 1-3`;1-3 本关仍不实现玩法,仅解锁外观
|
||
- 重打失败不锁回
|
||
|
||
---
|
||
|
||
## 6. 验收(相对 1-1 增量)
|
||
|
||
- [ ] 题目仅含 `j k l ;`,长度 40
|
||
- [ ] 键盘仅 JKL; 高亮可用,其余禁用
|
||
- [ ] 通关 1-1 后可点进 1-2
|
||
- [ ] 正确率 ≥ 90% 通关并解锁 1-3
|
||
- [ ] 判定、音效、结算与 1-1 一致
|