Snurra hjulet
Skriv dina alternativ, snurra hjulet
Varje rad i rutan blir en klyfta. Tryck på snurra, hjulet vrids och saktar ner, och klyftan under pilen vinner.
Inget laddas upp. Dina poster lever i webbläsarfliken och försvinner när du stänger den.
Vinnaren väljs innan hjulet rör sig
Det här spelar mer roll än det låter.
Det uppenbara sättet att bygga ett hjul är att ge det en slumpmässig knuff, låta friktionen bromsa in det, och läsa av vad som hamnar under pilen. Det tillvägagångssättet gör att resultatet beror på avrundning av slutvinkeln och på hur många animationsbilder din enhet hann rita — en långsam telefon och en snabb stationär dator skulle inte vara lika rättvisa.
Det här hjulet gör tvärtom. Det drar en vinnare från crypto.getRandomValues()
först, beräknar sedan exakt den rotation som placerar den klyftan under pilen
och animerar dit. Snurren är presentation; dragningen är redan avgjord och
bevisbart likformig.
Varje klyfta har därför exakt samma chans, oavsett hur många klyftor det finns, hur långa deras etiketter är, eller vilken enhet du använder.
Ta bort vinnaren, eller fortsätt snurra hela hjulet
Med ta bort vinnare på tar varje snurr bort den vinnande posten från hjulet. Snurra upprepade gånger och du får en ordning: första, andra, tredje. Bra för att dra flera priser, eller för att avgöra presentationsordning inför ett rum.
Med det avstängt förblir hjulet helt och samma alternativ kan vinna två gånger — vilket är vad du vill ha för “var ska vi äta ikväll”.
Att vikta hjulet genom att upprepa en post
Hjulet ger varje klyfta samma chans, så sättet att gynna ett alternativ är att ge det fler klyftor. Att lista det två gånger dubblerar dess andel.
| Poster | Klyftor | Chans för Pizza |
|---|---|---|
| Pizza, Sushi, Tacos | 3 | 33 % |
| Pizza, Pizza, Sushi, Tacos | 4 | 50 % |
| Pizza ×3, Sushi, Tacos | 5 | 60 % |
Duplicerade etiketter visas på hjulet fler än en gång, vilket är ärligt — alla som tittar kan räkna klyftorna och se viktningen i stället för att ta ditt ord för det. Den synligheten är poängen med ett hjul; en dold vikt skulle motverka den.
För finjusterade vikter som inte passar snyggt in i klyftor accepterar
slumptalsgeneratorn explicita tal:vikt-par i stället.
Hur många klyftor förblir läsbara
Klyftor krymper när posterna ökar, och etiketterna ritas längs radien, så det finns ett praktiskt tak långt under alla tekniska.
- Upp till 12 — bekvämt, etiketterna läses vid en snabb blick
- 12 till 20 — läsbart, men långa namn börjar tränga ihop sig
- 20 till 30 — användbart bara för korta etiketter
- Över 30 — hjulet fungerar fortfarande och dragningen är fortfarande rättvis, men ingen kan läsa det medan det snurrar
Etiketter längre än 18 tecken trimmas med en ellips så de håller sig inom sin klyfta. Om din lista är lång nog att hjulet blir oläsligt gör namnväljaren samma jobb utan teatern.
Tillgänglighet och rörelse
Hjulet respekterar prefers-reduced-motion. Om ditt system ber om minskad
rörelse hoppas snurranimationen över och vinnaren visas omedelbart. Resultatet
är identiskt oavsett, eftersom dragningen aldrig berodde på animationen.
Vinnaren tillkännages också i en live-region, så skärmläsare läser upp den utan att användaren behöver leta efter den.
Var ett väljarhjul används
- Att bestämma — lunch, film, vilken syssla
- Livesändningar och klassrum — snurren är poängen; folk tittar på den
- Giveaways — en synlig dragning känns rättvisare för en publik än att ett tal bara dyker upp
- Icebreakers — vem svarar på nästa fråga