Случайный выбор из списка: что заказать на ужин
Случайный выбор из 6 вариантов: равные секторы по 60°, шанс у каждого 16,7 %. Впишите свой список — каждый вариант с новой строки или через запятую — и крутите колесо. Вариантов можно от 2 до 40, дубли отбрасываются. Если выбор нужно сузить, уберите выпавший пункт кнопкой «Убрать победителя»: у оставшихся шансы вырастут, а история покажет, что выпадало раньше.
Равные шансы: 6 вариантов по 60°
| Вариант | Сектор на колесе | Шанс выпасть | Из 60 прокруток |
|---|---|---|---|
| Пицца | 60° (сектор 1) | 16,7 % | 10 раз |
| Суши | 60° (сектор 2) | 16,7 % | 10 раз |
| Бургер | 60° (сектор 3) | 16,7 % | 10 раз |
| Паста | 60° (сектор 4) | 16,7 % | 10 раз |
| Шаурма | 60° (сектор 5) | 16,7 % | 10 раз |
| Салат | 60° (сектор 6) | 16,7 % | 10 раз |
Рассчитано по методике инструмента «Колесо фортуны онлайн: рандомайзер из своего списка».
Как считаем
Сектор = 360° ÷ n, где n — число вариантов; шанс варианта = 1 ÷ n, то есть 100 % ÷ n. Победитель: i = floor(r × n), где r — случайное число из [0, 1). Угол остановки: φ = 360° × k − (i × сектор + сектор ÷ 2 + δ), где k — число полных оборотов (4–7), δ — случайный сдвиг внутри сектора до ±35 % его ширины. Сектор под указателем при повороте φ: floor((−φ mod 360) ÷ сектор).
Ограничения и допущения
- Секторы всегда равные: весов и «шансов» у вариантов нет, поэтому 100 % ÷ n — точная вероятность каждого. Если нужны неравные шансы, впишите вариант несколько раз.
- Источник случайности — Math.random() браузера. Он даёт равномерное распределение, но не является криптографическим: для жеребьёвки и спора этого достаточно, для розыгрыша призов с денежным призом нужен независимый источник — генератор паролей на этой платформе берёт crypto.getRandomValues.
- Победитель определяется до начала прокрутки, а колесо лишь показывает результат: угол остановки считается так, чтобы выпавший сектор оказался под указателем. Поэтому «сила броска» ничего не решает.
- Звук тика синтезируется в браузере и включается после первого нажатия — до жеста пользователя браузеры звук не дают. Тик звучит не чаще 20 раз в секунду: на старте колесо проходит сектор за 15 мс, и без ограничения это был бы треск. Если Web Audio недоступен, колесо просто крутится молча.
- Список сохраняется в hash-фрагменте адреса, а не в query-параметрах: такие ссылки не создают дублей страницы для поисковых систем. Ограничение — 40 вариантов и 40 знаков на подпись: дальше секторы становятся нечитаемыми.