Spin the Wheel
Ketik opsi Anda, putar rodanya
Setiap baris di kotak menjadi sebuah irisan. Tekan putar, roda berputar dan melambat, dan irisan di bawah penunjuk menang.
Tidak ada yang diunggah. Entri Anda tinggal di tab browser dan hilang saat Anda menutupnya.
Pemenang dipilih sebelum rodanya bergerak
Ini penting lebih dari yang terdengar.
Cara yang paling jelas untuk membuat sebuah roda adalah memberinya dorongan acak, membiarkan gesekan memperlambatnya, lalu membaca apa pun yang berakhir di bawah penunjuk. Pendekatan itu membuat hasilnya bergantung pada pembulatan sudut akhir dan pada berapa banyak frame animasi yang berhasil digambar perangkat Anda — ponsel yang lambat dan desktop yang cepat tidak akan sama adilnya.
Roda ini melakukan sebaliknya. Ia menarik pemenang dari
crypto.getRandomValues() terlebih dahulu, lalu menghitung rotasi yang
tepat untuk menempatkan irisan itu di bawah penunjuk dan menganimasikannya
ke sana. Putarannya hanyalah presentasi; undiannya sudah diputuskan dan
terbukti seragam.
Setiap irisan karena itu punya peluang yang persis sama, tidak peduli berapa banyak irisan yang ada, seberapa panjang labelnya, atau perangkat apa yang Anda gunakan.
Hapus pemenang, atau tetap putar roda penuh
Dengan hapus pemenang aktif, setiap putaran mengeluarkan entri pemenang dari roda. Putar berulang kali dan Anda mendapat sebuah urutan: pertama, kedua, ketiga. Bagus untuk mengundi beberapa hadiah, atau untuk menentukan urutan presentasi di depan ruangan.
Dengan itu nonaktif, roda tetap utuh dan opsi yang sama bisa menang dua kali — yang justru Anda inginkan untuk “malam ini makan di mana”.
Memberi bobot pada roda dengan mengulang sebuah entri
Roda memberi setiap irisan peluang yang sama, jadi cara mengunggulkan sebuah opsi adalah memberinya lebih banyak irisan. Mencantumkannya dua kali melipatgandakan bagiannya.
| Entri | Irisan | Peluang untuk Pizza |
|---|---|---|
| Pizza, Sushi, Tacos | 3 | 33% |
| Pizza, Pizza, Sushi, Tacos | 4 | 50% |
| Pizza ×3, Sushi, Tacos | 5 | 60% |
Label yang diduplikasi muncul di roda lebih dari sekali, dan itu jujur — siapa pun yang menonton bisa menghitung irisannya dan melihat bobotnya, bukan sekadar percaya kata Anda. Visibilitas itulah inti dari sebuah roda; bobot tersembunyi akan menggagalkan tujuannya.
Untuk bobot yang lebih halus yang tidak cocok rapi ke dalam irisan,
generator angka acak menerima pasangan number:weight eksplisit sebagai
gantinya.
Berapa banyak irisan yang tetap mudah dibaca
Irisan mengecil seiring bertambahnya entri, dan labelnya digambar sepanjang jari-jari, jadi ada batas praktis yang jauh di bawah batas teknis mana pun.
- Hingga 12 — nyaman, label terbaca sekilas
- 12 sampai 20 — masih terbaca, tapi nama panjang mulai berdesakan
- 20 sampai 30 — hanya bisa dipakai untuk label pendek
- Di atas 30 — roda tetap berfungsi dan undiannya tetap adil, tapi tidak ada yang bisa membacanya saat berputar
Label yang lebih panjang dari 18 karakter dipotong dengan elipsis agar tetap muat di dalam irisannya. Jika daftar Anda cukup panjang sehingga rodanya tidak terbaca, pemilih nama melakukan pekerjaan yang sama tanpa teaternya.
Aksesibilitas dan gerakan
Roda ini menghormati prefers-reduced-motion. Jika sistem Anda meminta
gerakan yang dikurangi, animasi putarannya dilewati dan pemenangnya langsung
muncul. Hasilnya identik bagaimanapun caranya, karena undiannya tidak
pernah bergantung pada animasi.
Pemenangnya juga diumumkan di sebuah live region, sehingga pembaca layar membacakannya tanpa pengguna harus mencarinya.
Di mana roda pemilih digunakan
- Mengambil keputusan — makan siang, film, tugas rumah yang mana
- Live stream dan kelas — putarannya itulah intinya; orang menontonnya
- Giveaway — undian yang terlihat terasa lebih adil bagi penonton daripada sebuah angka yang muncul begitu saja
- Icebreaker — siapa menjawab pertanyaan berikutnya