Skip to content

Freedom645/iidx-pattern-trainer

Repository files navigation

IIDX Pattern Trainer

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 install

開発

npm run dev

http://localhost:5173/iidx-pattern-trainer/ で開発サーバーが起動します。

ビルド

npm run build

dist/ にビルド成果物が出力されます。

デプロイ

GitHub Pages へ自動デプロイされます。

  1. GitHub にリポジトリを作成して push
  2. リポジトリの Settings > Pages > Source を GitHub Actions に設定
  3. 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 (全画面)

ドキュメント

About

beatmania IIDX pattern training web app

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors