ルーレット

名前や項目を入れてルーレットを回し、1 つをランダムに選びます。すべての項目が同じ面積を持ち、自然な減速で停止して結果を表示します。当選者を一覧から自動で外すモードも選べます。

Loading…

すべての処理はブラウザ内で実行されます — ファイルや入力はサーバへ送信されません。

使い方

テキストエリアに 1 行 1 項目で入力します — 名前、料理の選択肢、プレゼントの受取人など何でも構いません。ホイールはリアルタイムで更新されます。**回す** をクリックすると数回転してから減速し、当選セクターで止まります。各項目は名前の長さに関わらず同じ面積を占めるので、当選確率はどの項目も `1 / N` です。

**当選者を一覧から外す** をオンにするとトーナメント形式の絞り込みができます。スピンごとに当選者がリストから消えるので、繰り返せば全員に順位がつきます。選定には `Math.random()` を使用し、視覚的な回転は当選を決めた *後* に計算するので、ホイールが偶然止まった場所が結果になるのではなくアニメーションは誠実です。データはブラウザ外に出ません。

ランチ選び — レストラン 5 つ

入力
Pho Saigon
Ramen Daisho
Taco Plaza
Green Bowl
Curry House
出力
→ Ramen Daisho   (each option has 1/5 = 20% chance)

オフィスでよくある用途 — 同僚 5 人、レストラン 5 つ、決まらない。1 回回して確定します。一方的に決めるのではなく儀式的に選ぶ雰囲気が出るのがホイールの本質です。

10 人をランキング — 落選モード

入力
10 names, "Remove winner after spin" ON
spin 10 times → ranked list 1st…10th
出力
1st: Bob
2nd: Alice
3rd: Charlie
…
10th: Eve

ドラフト順、発表順、当番回しに。回ごとに残りが減り確率は変わりますが、最初に入れた全員がランキングのどこかにちょうど 1 度ずつ現れます。

よくある質問

本当に全項目が同じ確率ですか?

はい。当選は `Math.floor(Math.random() * N)` で先に決定され、これは `0..N-1` の一様分布です。その後ホイールは選ばれたセクターを指示針の下に止めるよう回転し、見栄えのために数回転分が追加されます。視覚は乱数の上に乗ったプレゼンテーションであって、乱数源ではありません。

項目ごとに重みを付けられますか?

直接はできません — 1 項目につき 1 セクターです。重みを付けたいときは項目を繰り返してください。`Alice` を 3 行、`Bob` を 1 行と書けば Alice の確率は 75% です。見た目はやや雑になりますが、見ている人がセクター数を数えれば確認できる透明な方法です。

何項目まで入れられますか?

上限はありませんが、16 項目を超えるとラベルが省略され、30 項目を超えるとホイール上で読みづらくなります。大規模な抽選にはこのツールの落選モードを繰り返すか、表計算ソフトで乱数キー並び替えを使ってください。

前回どこで止まったかは結果に影響しますか?

いいえ。各スピンは `Math.random()` で新規に乱数インデックスを引き、ホイールの現在角とは独立です。開始角は減速アニメーションの見え方には影響しますが、最終的にどのセクターが指示針下に来るかには影響しません。

関連ツール