# 节拍行者(RHYTHM) 跟随领奏的节奏游戏,纯音频。系统奏一句,你在下一小节原样跟打—— 音要对,拍点也要对。建议戴耳机(有线优先,蓝牙延迟由 Good 窗口吸收)。 ## 玩法 - 每个乐句 = **领奏 1 小节 + 应答 1 小节**:先听系统用打击乐器演奏 2-4 个音的节奏型,然后在下一小节的相同拍点用相同手势跟打。 - 判定:**Perfect ±150ms**(乐器音 + 亮音 accent)/ **Good ±350ms**(只播乐器音)/ **Miss**(手势错或错过拍点:该音符不出声 + 一声闷镲 + 震动提醒)。 判定时刻按真实触摸时刻算(引擎 immediateTap 按下即发 tap;滑动/双击按 识别延迟补偿回触摸时刻)。Miss 不中断不掉血,歌照唱完。 - 计分:Perfect=2 / Good=1 / Miss=0,评级 **S≥95% / A≥85% / B≥70% / C**。 - 连击每 16 次有震动鼓励;乐句全 Perfect 有额外震动。 - **3 首曲目解锁制**:《启程》90 BPM → 《追风》105 BPM(反拍)→ 《星爆》120 BPM (切分密集)。曲目 n 拿到 B 级以上解锁 n+1,解锁状态本地保存并同步大厅。 ## 手势 → 乐器音 | 手势 | 乐器音 | 声像 | |---|---|---| | 单击 | 底鼓 kick | 中央低频 | | 双击 | 军鼓 snare | 中央偏上 | | 左滑 | 闭合镲 hat | 极左 | | 右滑 | 开放镲 hat | 极右 | | 上滑 | 高通 tom | 升调感 | | 下滑 | 低通 tom | 降调感 | | 长按 | —(非演奏手势) | Miss 反馈音 + 震动提醒 | 你的每次出手都会实时奏响对应乐器音——跟对了,就能听到自己在演奏。 ## 流程 - **首次进入**:一句欢迎后进入 5 步交互教学(单击 → 左右滑 → 上滑 → 下滑 → 三音带双击),做错有纠正语音(早了/晚了/不是这个手势),同一步失败 2 次 自动跳过;全程零通过时收尾播中性句(不夸"很好");教学中**下滑 = 跳过 教学**(教到下滑步、临近下滑音符时除外——那时它是演奏)。 - **选曲**(二周目起):左右滑切曲目(播曲目名/未解锁提示),单击开始, 上滑听规则,下滑回大厅。 - **结算**:播报评级(含准确率档位)与连击纪录;**单击 = 再来一遍(同曲), 右滑 = 下一首(需已解锁),下滑 = 回大厅**(先播"回大厅"确认再跳转)。 ## 菜单 演奏中**下滑呼出**(模态暂停:谱面、判定、BGM 全部冻结,BGM 断点续播)→ **单击循环选项**(继续演奏/回大厅)→ **双击确认** → **上滑 = 帮助**(规则 + 设置引导)。菜单打开后 **1 秒去抖独占期**:期内不收任何手势(防演奏途中被 弹菜单时,已在路上的手势直接穿透菜单误确认)。 注意:下滑同时是"低通 tom"的演奏手势——**自下滑音符的领奏响起到判定 死线之间**,下滑永远是演奏;音符刚被判定死线拖死的短窗内(识别延迟、手势 还在路上)同样按演奏处理,绝不弹菜单;仅当没有悬置、临近或刚拖死的下滑 音符时才呼出菜单。 ## 运行 ```bash python3 -m http.server 8105 --directory /home/ubuntu/SoundGame/web # 浏览器打开 http://localhost:8105/rhythm/ ,建议戴耳机 ```