Szerencsekerék
Írja be az opcióit, pörgesse meg a kereket
A mezőben minden sor egy szeletté válik. Nyomja meg a pörgetést, a kerék elfordul és lelassul, és a mutató alatt megálló szelet nyer.
Semmi nem kerül feltöltésre. A bejegyzései a böngészőlapon élnek, és eltűnnek, amikor bezárja azt.
A nyertes már azelőtt eldől, hogy a kerék megmozdulna
Ez fontosabb, mint amilyennek hangzik.
A nyilvánvaló módja egy kerék felépítésének az, hogy adjon neki egy véletlen lökést, hagyja, hogy a súrlódás lelassítsa, és leolvassa, mi kerül a mutató alá. Ez a megközelítés az eredményt a végső szög kerekítésétől és attól teszi függővé, hogy az eszköze hány animációs képkockát tudott megrajzolni — egy lassú telefon és egy gyors asztali gép nem lenne egyformán igazságos.
Ez a kerék az ellenkezőjét teszi. Először sorsol egy nyertest a
crypto.getRandomValues()-ból, majd kiszámítja a pontos elforgatást, amely
azt a szeletet a mutató alá helyezi, és ehhez animál. A pörgés csak a
megjelenítés; a sorsolás már eldőlt, és bizonyíthatóan egyenletes.
Minden szeletnek ezért pontosan ugyanaz az esélye, függetlenül attól, hány szelet van, milyen hosszúak a feliratok, vagy milyen eszközön van.
Távolítsa el a nyertest, vagy pörgesse tovább a teljes kereket
Bekapcsolt nyertes eltávolítása mellett minden pörgetés leveszi a nyertes bejegyzést a kerékről. Pörgessen ismételten, és sorrendet kap: első, második, harmadik. Jó több nyeremény sorsolásához, vagy a bemutatkozási sorrend eldöntéséhez egy terem előtt.
Kikapcsolva a kerék teljes marad, és ugyanaz az opció kétszer is nyerhet — ami az, amit “hol együnk ma este” esetén szeretne.
A kerék súlyozása egy bejegyzés ismétlésével
A kerék minden szeletnek ugyanazt az esélyt adja, így egy opció kedvezményezésének módja az, hogy több szeletet ad neki. Ha kétszer sorolja fel, megduplázza a részesedését.
| Bejegyzések | Szeletek | Pizza esélye |
|---|---|---|
| Pizza, Sushi, Taco | 3 | 33% |
| Pizza, Pizza, Sushi, Taco | 4 | 50% |
| Pizza ×3, Sushi, Taco | 5 | 60% |
Az ismételt feliratok többször jelennek meg a kereken, ami becsületes — bárki, aki figyeli, megszámolhatja a szeleteket, és láthatja a súlyozást, ahelyett hogy a szavát kellene elfogadnia. Ez a láthatóság a kerék lényege; egy rejtett súly ezt semmisítené meg.
Finomabb súlyokhoz, amelyek nem férnek el szépen szeletekben, a
véletlenszám-generátor explicit szám:súly párokat fogad el helyette.
Hány szelet marad olvasható
A szeletek zsugorodnak, ahogy a bejegyzések nőnek, és a feliratok a sugár mentén futnak, így van egy gyakorlati felső határ jóval a technikai alatt.
- Akár 12-ig — kényelmes, a feliratok egy pillantásra olvashatók
- 12–20 között — olvasható, de a hosszú nevek kezdenek zsúfolttá válni
- 20–30 között — csak rövid feliratokhoz használható
- 30 felett — a kerék még működik, és a sorsolás még mindig igazságos, de senki sem tudja elolvasni, amíg pörög
A 18 karakternél hosszabb feliratok háromponttal kerülnek levágásra, hogy a szeletükön belül maradjanak. Ha a listája elég hosszú ahhoz, hogy a kerék olvashatatlan legyen, a névválasztó ugyanazt a feladatot végzi el a színjáték nélkül.
Akadálymentesség és mozgás
A kerék tiszteletben tartja a prefers-reduced-motion beállítást. Ha a
rendszere csökkentett mozgást kér, a pörgési animáció kimarad, és a nyertes
azonnal megjelenik. Az eredmény mindkét esetben ugyanaz, mert a sorsolás soha
nem függött az animációtól.
A nyertest egy élő régió is bejelenti, így a képernyőolvasók felolvassák, anélkül hogy a felhasználónak keresgélnie kellene érte.
Hol használnak választókereket
- Döntés — ebéd, film, melyik házimunka
- Élő közvetítések és osztálytermek — a pörgés maga a lényeg; az emberek nézik
- Nyereményjátékok — egy látható sorsolás igazságosabbnak tűnik a közönség számára, mint egy megjelenő szám
- Jégtörők — ki válaszol a következő kérdésre