Files
SoundGame/web/rhythm/README.md
T

3.2 KiB
Raw Blame History

节拍行者(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"的演奏手势——自下滑音符的领奏响起到判定 死线之间,下滑永远是演奏;音符刚被判定死线拖死的短窗内(识别延迟、手势 还在路上)同样按演奏处理,绝不弹菜单;仅当没有悬置、临近或刚拖死的下滑 音符时才呼出菜单。

运行

python3 -m http.server 8105 --directory /home/ubuntu/SoundGame/web
# 浏览器打开 http://localhost:8105/rhythm/ ,建议戴耳机