Колесо фортуны онлайн: рандомайзер из своего списка
Впишите варианты — каждый с новой строки или через запятую — и нажмите «Крутить». Колесо прокрутится с замедлением и остановится под указателем на одном секторе. Победитель выбирается случайным числом в браузере, а не силой прокрутки, поэтому шансы у всех вариантов равные: 100 % делить на число секторов. Кнопка «Убрать победителя и крутить снова» убирает выпавшее из списка, история хранит последние результаты, а сам список едет в адресе страницы — ссылкой можно поделиться.
Когда колесо лучше монетки
Монетка делит мир на две части, а список обычно длиннее. Колесо нужно, когда вариантов три и больше и все они равнозначны: куда поехать в отпуск, какую пиццу заказать, кто из четверых моет посуду. Правило, которое делает такой выбор честным: крутить один раз. Вторая прокрутка «потому что не понравилось» превращает жребий в выбор задним числом, и договариваться с собой становится бессмысленно.
Розыгрыш призов: убрать победителя и крутить снова
Классическая схема розыгрыша — не один победный сектор, а порядок выпадения. Крутите первый раз, показываете победителя, убираете его из списка и крутите снова: у оставшихся шансы растут, повторов не бывает, и всё это видно участникам на экране. Список из четырёх пунктов разыграет четыре приза за четыре прокрутки, а история под колесом покажет, что выпадало раньше.
Чего колесо не делает
Нет весов: нельзя сказать «этот вариант должен выпадать вдвое чаще» — секторы строго равные. Нет картинок и цветов на выбор: палитра одна и взята из оформления сайта, а подписи обрезаются по ширине сектора. Нет сохранения истории между заходами: список едет в ссылке, а результаты прокруток — нет. Версия намеренно простая: открылась, вписал, крутнул, закрыл.
Покрываемые вопросы
На этой странице также отвечаем на вопросы: «колесо фортуны», «рандомайзер», «колесо фортуны онлайн», «случайный выбор», «кто пойдет первым», «колесо для розыгрыша», «выбрать случайное из списка».
Как считаем
Сектор = 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 знаков на подпись: дальше секторы становятся нечитаемыми.