Как считается
Числа берутся из криптографического генератора случайности браузера (Web Crypto API) — того же, что используется для шифрования. В отличие от «псевдослучайного» Math.random, его результат непредсказуем и не зависит от времени или предыдущих чисел.
Режим «без повторов» работает как лототрон: каждое число в выдаче встречается один раз — удобно для розыгрышей призов по номерам участников. Обычный режим допускает повторы, как бросок кубика.
Для честного розыгрыша зафиксируйте правила заранее: диапазон (например, по числу участников), количество победителей и время розыгрыша — а затем сгенерируйте числа при свидетелях или на записи экрана.
Примеры расчёта
- Розыгрыш среди 250 участников: диапазон от 1 до 250, три победителя, режим «без повторов».
- Замена кубика в настольной игре: от 1 до 6, одно число.
Вопросы и ответы
- Можно ли доверять такому рандому для розыгрыша?
- Да: используется криптографический генератор браузера, повлиять на его результат со стороны сайта или участников нельзя. Для прозрачности проводите генерацию на записи экрана.
- Чем это лучше, чем «загадать число в уме»?
- Человек — плохой генератор случайности: мы систематически избегаем «круглых» и крайних значений. Настоящий рандом не имеет любимчиков.
- Есть ли ограничения на диапазон?
- Диапазон — любые целые числа, за один раз можно получить до 1000 чисел. Для режима «без повторов» диапазон должен быть не меньше количества запрошенных чисел.