beatmania IIDX の特定譜面パターンを繰り返し練習するための Web アプリケーション。 ゲームコントローラを接続した PC で、階段・トリル・同時押しなどのパターンを集中的にトレーニングできます。
- 7種の練習パターン - 同色階段 / 混色階段 / トリル / 二重トリル / 同時押し / 乱打 / 皿複合
- 本家準拠のフローティングハイスピード - 緑数字 (GREEN NUMBER) で速度を指定。
緑数字 = 174000 / (BPM × HS × SUD+換算倍率)の本家計算式に準拠 - LIFT / SUDDEN+ - 本家同様の表示カスタマイズ
- ゲームコントローラ対応 - Gamepad API によるボタンマッピング設定
- キーボード操作 -
Shift=SCR、Z/S/X/D/C/F/V=1~7鍵 - フルスクリーン - プレイ時に自動で全画面化
- アニメーションプレビュー - 設定画面でノーツが流れるリアルタイムプレビュー
- メトロノーム - BPM に同期したクリック音 (ON/OFF)
- 判定システム - PGREAT / GREAT / GOOD / BAD / POOR の5段階判定
- 設定保存 - localStorage による設定永続化
- Node.js 20+
- npm
git clone https://github.com/<username>/iidx-pattern-trainer.git
cd iidx-pattern-trainer
npm installnpm run devhttp://localhost:5173/iidx-pattern-trainer/ で開発サーバーが起動します。
npm run builddist/ にビルド成果物が出力されます。
GitHub Pages へ自動デプロイされます。
- GitHub にリポジトリを作成して push
- リポジトリの Settings > Pages > Source を GitHub Actions に設定
mainブランチへの push で.github/workflows/deploy.ymlが自動実行
| キー | 操作 |
|---|---|
Shift |
スクラッチ |
Z S X D C F V |
1~7鍵 |
ESC |
プレイ中断 |
src/
├── main.ts # エントリーポイント・画面制御
├── types.ts # 型定義
├── constants.ts # 定数・緑数字計算
├── core/Game.ts # ゲームループ
├── input/InputManager.ts # キーボード + Gamepad 入力
├── judge/JudgeManager.ts # タイミング判定
├── audio/AudioManager.ts # Web Audio API 音声生成
├── chart/PatternGenerator.ts # パターン生成
└── renderer/Renderer.ts # Canvas 描画
- TypeScript + Vite
- Canvas API (描画)
- Web Audio API (音声)
- Gamepad API (コントローラ入力)
- Fullscreen API (全画面)