Развлечения

Розыгрыш призов колесом: порядок выпадения

Коротко

Для розыгрыша — список из 4 пунктов: колесо делится на 4 равных сектора по 90°, шанс каждого — 25 %. Нажмите «Крутить» и не трогайте поле со списком: победитель выбирается случайным числом в браузере, а угол остановки считается так, чтобы под указателем оказался именно он. Выпавший пункт убирается кнопкой «Убрать победителя» — порядок розыгрыша получается честным, без повторов. Список сохраняется в адресе страницы: ссылку можно отправить участникам.

Инструмент

Нажмите на колесо или кнопку «Крутить»

Вариантов: 4 Сектор: 90° Шанс: 25 %

60

Победитель выбирается случайным числом в браузере, секторы равные. Ссылку с этим списком можно скопировать кнопкой выше — список едет в адресе страницы.

Все 4 4 варианта: сектор 90°, шанс 25 %
Вариант Сектор Шанс выпасть
Приз №1 90° (0–90°) 25 %
Приз №2 90° (90–180°) 25 %
Приз №3 90° (180–270°) 25 %
Утешительный приз 90° (270–360°) 25 %

Секторы равные, поэтому шанс каждого варианта — 100 % ÷ 4. Победитель выбирается случайным числом, а не «силой прокрутки»: колесо лишь показывает результат и останавливается так, чтобы выпавший сектор оказался под указателем. Вариантов можно от 2 до 40; повторы и пустые строки отбрасываются.

Секторы розыгрыша: 4 пункта по 90°

ВариантСектор на колесеШанс выпастьПорядок розыгрыша
Приз №190° (сектор 1)25 %Ход 1
Приз №290° (сектор 2)25 %Ход 2
Приз №390° (сектор 3)25 %Ход 3
Утешительный приз90° (сектор 4)25 %Ход 4

Рассчитано по методике инструмента «Колесо фортуны онлайн: рандомайзер из своего списка».

Как считаем

Сектор = 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 знаков на подпись: дальше секторы становятся нечитаемыми.
Полная методика, шаги и источники

Частые вопросы

как разыграть призы колесом честно
Все секторы равные, поэтому шанс каждого варианта — 100 % делить на число пунктов, у четырёх призов это 25 %. Победитель выбирается случайным числом в браузере до начала прокрутки, а колесо только показывает результат. Честность держится на одном правиле: крутить и принимать выпавшее как есть, без второй попытки «потому что не тот».
как раздать несколько призов без повторов
Используйте кнопку «Убрать победителя и крутить снова»: выпавший пункт исчезает из списка, и у оставшихся шансы растут — после первого круга это уже 33 % на каждый из трёх призов. Так четыре прокрутки дают порядок выдачи всех четырёх призов, и история под колесом показывает, что выпадало раньше.
нужно ли писать разные призы на секторах
Да, если призы разные. Названия вроде «Приз №1» удобны для жеребьёвки порядка, а для розыгрыша конкретных подарков пишите их прямо в списке — «Наушники», «Термокружка», «Сертификат». Длина подписи до 40 знаков: дальше она обрезается по ширине сектора, поэтому длинное название лучше сократить.

Ещё на сайте