@akswift

Winwheel.js Как высчитать на каком сегменте остановится колесо?

Здравствуйте. Суть такова. Есть сайт, на нем есть колесо призов. Логично что нам нужно выдавать призы в зависимости от количества, а значить вести учет на сервере, и отдавать призы уже от туда. Мы получаем рандомно приз. И теперь должны передать число (сегмент на колесе) на саму анимацию.

Но вот в чем сложность, я не могу понять вот эту формулу.

let stopAt = (91 + Math.floor((Math.random() * 43)))


И что за что отвечает, как считает, и что получит. Этот пример с документации winwheel. Пришел за помощью к вам. Так как ничего понять не могу.

Ссылка на документацию.
dougtesting.net/winwheel/docs/tut14_setting_the_prize
  • Вопрос задан
  • 481 просмотр
Решения вопроса 1
@alexalexes
Читайте комментарий.
// This formula always makes the wheel stop somewhere inside prize 3 at least
// 1 degree away from the start and end edges of the segment.

Сектор "Приз 3" находится за 90-ым градусом по часовой стрелке.
Чтобы попадать туда, минимально число должно генериться чуть более 90, например, 91.
Рандом генерирует веществ. числа в интервале 0...1.
Нам нужно не выбежать из сектора за верхнюю границу.
Секторов 8, на один сектор приходится 45 градусов.
91 + 45 = 136 градусов, убежали в следующий сектор.
Берем 44, оказываемся на границе секторов.
Берем 43 - то, что надо, нашли верхний предел генерации параметра (134 градуса).
PS:
91 - это минимальный параметр;
43 - макс. внутрисекторное смещение.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы