くじを回した回数ごとの、コンプリート確率を計算する Web アプリ。
https://binomialsheep.github.io/compriere/
特にウェブポンのために作成したため、ウェブポンの実測ベースの提供割合プリセットを同梱していますが、賞・種類数・確率は自由に編集できます。
提供割合は公開されていませんが、実際に引かれた個数を約20万件収集して計算しています。
激レア賞、レア賞、A賞は個数が決まっているため、引かれる個数が多いガチャほど提供が渋くなるので、5種類のプリセットに分けています。 B賞、C賞、D賞、E賞は最も典型的な「3種類、5種類、8種類、10種類」の場合の確率をプリセットに記載しています。観測結果では、種類数が多いほどその賞が当たる確率も増えます。
「1賞に複数のランダム景品があるくじ」のコンプ率の計算は、DPや包除原理で求めています。 引く回数をN回、種類数をK種類としてΘ(NK)なので、実用上は高速です。 (実用から外れた値を入れると桁落ち誤差などで不正解な値になりえます)
- React + TypeScript + Vite
- テスト: Vitest
- ホスティング: GitHub Pages(GitHub Actions で
dist/を配信)
npm install # 依存をインストール
npm run dev # 開発サーバー(http://localhost:5173/)
npm test # テスト
npm run build # 本番ビルド → dist/src/core/… 確率計算エンジン・型・バリデーション(DOM非依存・テストあり)src/data/… 同梱プリセット(くじの提供割合データ)src/ui/… React コンポーネント.github/workflows/deploy.yml… main への push で自動デプロイ