Завъртане на колело
Въведете опциите си, завъртете колелото
Всеки ред в полето става сектор. Натиснете завъртане, колелото се върти и забавя, и секторът под стрелката печели.
Нищо не се качва никъде. Записите ви живеят в раздела на браузъра и изчезват, когато го затворите.
Победителят е избран, преди колелото да се задвижи
Това има повече значение, отколкото звучи.
Очевидният начин да се построи колело е да му се даде случаен тласък, да се остави триенето да го забави, и да се прочете каквото се окаже под стрелката. Този подход прави резултата зависим от закръгляването на крайния ъгъл и от това колко кадъра на анимацията устройството ви е успяло да изчертае – бавен телефон и бърз настолен компютър не биха били еднакво честни.
Това колело прави обратното. Изтегля победител от crypto.getRandomValues()
първо, после изчислява точното завъртане, което поставя този сектор под
стрелката, и анимира до него. Въртенето е представяне; тегленето вече е решено
и доказуемо равномерно.
Затова всеки сектор има точно еднакъв шанс, независимо колко сектора има, колко дълги са етикетите им или на какво устройство сте.
Премахване на победителя или продължаване на завъртане на цялото колело
С включено премахване на победителя всяко завъртане маха печелившия запис от колелото. Завъртете многократно и получавате ред: първо, второ, трето място. Добро за теглене на няколко награди или за определяне на ред на представяне пред зала.
С изключена опция колелото остава цяло и една и съща опция може да спечели два пъти – което е това, което искате за „къде вечеряме тази вечер”.
Тегловност на колелото чрез повтаряне на запис
Колелото дава на всеки сектор еднакъв шанс, така че начинът да облагодетелствате опция е да ѝ дадете повече сектори. Изброяването ѝ два пъти удвоява дела ѝ.
| Записи | Сектори | Шанс за пица |
|---|---|---|
| Пица, Суши, Тако | 3 | 33% |
| Пица, Пица, Суши, Тако | 4 | 50% |
| Пица ×3, Суши, Тако | 5 | 60% |
Повторените етикети се показват на колелото повече от веднъж, което е честно – всеки наблюдаващ може да преброи секторите и да види тегловността, вместо да приема думата ви на доверие. Тази видимост е смисълът на колелото; скрита тегловност би го обезсмислила.
За фини тегла, които не се вписват спретнато в сектори, генераторът на случайни
числа приема изрични двойки число:тегло вместо това.
Колко сектора остават четими
Секторите се смаляват с нарастването на записите, а етикетите се изписват по радиуса, така че съществува практически таван доста под всеки технически.
- До 12 – удобно, етикетите се четат от пръв поглед
- 12 до 20 – четимо, но дългите имена започват да се тесняват
- 20 до 30 – използваемо само за кратки етикети
- Над 30 – колелото все още работи и тегленето все още е честно, но никой не може да го чете, докато се върти
Етикети, по-дълги от 18 знака, се съкращават с многоточие, за да останат вътре в сектора си. Ако списъкът ви е достатъчно дълъг, за да е колелото нечетимо, инструментът за избор на име върши същата работа без театралността.
Достъпност и движение
Колелото уважава prefers-reduced-motion. Ако системата ви поиска намалено
движение, анимацията на въртенето се пропуска и победителят се появява веднага.
Резултатът е идентичен и в двата случая, защото тегленето никога не е зависело
от анимацията.
Победителят също се обявява в жива зона, така че четците на екран го прочитат без потребителят да трябва да го търси.
Къде се използва колело за избор
- Решаване – обяд, филм, кой домакинска задача
- Стриймове на живо и класни стаи – въртенето е смисълът; хората го наблюдават
- Томболи – видимото теглене изглежда по-честно за публика, отколкото появяващо се число
- Разчупване на леда – кой отговаря на следващия въпрос