Kolo sreće
Upišite svoje opcije, zavrtite kolo
Svaki redak u polju postaje isječak. Pritisnite zavrti, kolo se okreće i usporava, i isječak ispod pokazivača pobjeđuje.
Ništa se ne učitava na poslužitelj. Vaši unosi žive u kartici preglednika i nestaju kad je zatvorite.
Pobjednik se bira prije nego se kolo pomakne
Ovo je bitnije nego što zvuči.
Očit način izrade kola je dati mu nasumičan gurnuti, pustiti trenje da ga uspori i pročitati što god završi pod pokazivačem. Takav pristup čini da rezultat ovisi o zaokruživanju konačnog kuta i o tome koliko je okvira animacije vaš uređaj uspio nacrtati — spor telefon i brzo stolno računalo ne bi bili jednako pošteni.
Ovo kolo radi suprotno. Prvo izvlači pobjednika iz
crypto.getRandomValues(), zatim izračunava točnu rotaciju koja taj
isječak dovodi pod pokazivač i animira do nje. Vrtnja je predstava;
izvlačenje je već odlučeno i dokazivo ujednačeno.
Svaki isječak stoga ima potpuno istu šansu, bez obzira koliko ima isječaka, koliko su duge njihove oznake, ili na kojem ste uređaju.
Uklonite pobjednika, ili nastavite vrtjeti cijelo kolo
Uz uključeno ukloni pobjednika, svaka vrtnja skida pobjednički unos s kola. Vrtite ponavljano i dobit ćete redoslijed: prvi, drugi, treći. Dobro za izvlačenje više nagrada, ili za odlučivanje redoslijeda prezentacija pred publikom.
Kad je isključeno, kolo ostaje cijelo i ista opcija može pobijediti dvaput — što je ono što želite za “gdje večeramo večeras”.
Ponderiranje kola ponavljanjem unosa
Kolo daje svakom isječku istu šansu, pa je način favoriziranja opcije da joj se dodijeli više isječaka. Navođenje dvaput udvostručuje njezin udio.
| Unosi | Isječci | Šansa za pizzu |
|---|---|---|
| Pizza, Sushi, Tacos | 3 | 33 % |
| Pizza, Pizza, Sushi, Tacos | 4 | 50 % |
| Pizza ×3, Sushi, Tacos | 5 | 60 % |
Dupliciranje oznaka pojavljuje se na kolu više puta, što je pošteno — svatko tko gleda može prebrojati isječke i vidjeti ponderiranje umjesto da vam mora vjerovati na riječ. Ta vidljivost je smisao kola; skriven ponder poništio bi ga.
Za fino ponderiranje koje se ne uklapa uredno u isječke, generator
nasumičnih brojeva umjesto toga prihvaća izričite parove broj:ponder.
Koliko isječaka ostaje čitljivo
Isječci se smanjuju kako unosi rastu, a oznake se ispisuju uzduž radijusa, pa postoji praktična gornja granica, znatno niža od bilo koje tehničke.
- Do 12 — udobno, oznake se čitaju na prvi pogled
- 12 do 20 — čitljivo, ali dugačka imena počinju se gomilati
- 20 do 30 — upotrebljivo samo za kratke oznake
- Iznad 30 — kolo i dalje radi i izvlačenje je i dalje pošteno, ali nitko ga ne može pročitati dok se vrti
Oznake dulje od 18 znakova skraćuju se s trotočkom kako bi ostale unutar svog isječka. Ako je vaš popis dovoljno dug da je kolo nečitljivo, alat za odabir imena obavlja isti posao bez predstave.
Pristupačnost i pokret
Kolo poštuje prefers-reduced-motion. Ako vaš sustav traži smanjeni
pokret, animacija vrtnje se preskače i pobjednik se pojavljuje odmah.
Rezultat je identičan u oba slučaja, jer izvlačenje nikad nije ovisilo o
animaciji.
Pobjednik se također najavljuje u živoj regiji, pa ga čitači zaslona izgovaraju bez da ga korisnik mora tražiti.
Gdje se kolo za odabir koristi
- Odlučivanje — ručak, film, koja obveza
- Prijenosi uživo i učionice — vrtnja je poanta; ljudi je gledaju
- Nagradne igre — vidljivo izvlačenje publici djeluje poštenije od broja koji se pojavi
- Ledolomci — tko odgovara na sljedeće pitanje