Vòng quay chọn tên
Nhập mỗi dòng một tên rồi bấm quay. Kết quả được rút bằng bộ sinh số ngẫu nhiên của trình duyệt, không phải bằng chỗ vòng quay dừng lại.
Cách tính
Vòng quay này chọn người trúng trước, rồi mới quay tới đó. Trình tự ngược lại — quay trước, dừng ở đâu thì người đó trúng — nghe có vẻ tự nhiên hơn nhưng lại để kết quả phụ thuộc vào đường cong tăng tốc và sai số làm tròn của trình duyệt, tức là phụ thuộc vào máy bạn đang dùng.
Con số ngẫu nhiên lấy từ crypto.getRandomValues của trình duyệt, không phải Math.random. Math.random là bộ sinh số giả ngẫu nhiên gieo từ đồng hồ máy: nhìn thì đều, nhưng ai biết đại khái thời điểm chạy là đoán được dãy số. Với một lượt quay mà mọi người phải chấp nhận kết quả, khác biệt đó đáng giá.
Mỗi tên chiếm một phần vòng quay. Thêm “*3” vào cuối dòng thì tên đó chiếm ba phần, tức khả năng trúng gấp ba một tên thường. Góc của mỗi múi được cắt đúng theo tỉ lệ số phần, nên hình vẽ và xác suất luôn khớp nhau — múi to hơn thật sự dễ trúng hơn.
Việc rút số dùng phép lấy mẫu có loại bỏ: nếu số ngẫu nhiên 32 bit rơi vào phần dư không chia hết cho tổng số phần, nó bị bỏ và rút lại. Cách làm thẳng tay là lấy phần dư, và phần dư đó luôn ưu ái vài tên đầu danh sách — sai lệch rất nhỏ, nhưng đúng vào chỗ người ta hay nghi ngờ.
Sau mỗi lượt, nút “Bỏ khỏi vòng quay” xoá người vừa trúng khỏi danh sách. Đó là cách rút không hoàn lại, dùng khi bạn cần chọn lần lượt nhiều người mà không ai trúng hai lần.
Danh sách không được lưu ở đâu cả. Nó nằm trong ô nhập của trình duyệt và trong liên kết bạn tự sao chép — mở liên kết đó ở máy khác là có sẵn danh sách, còn tải lại trang mà không có liên kết thì danh sách trở về mặc định.
Công thức
xác suất trúng của một tên = số phần của tên đó ÷ tổng số phần • góc múi = xác suất × 360°
Với danh sách không đặt trọng số, mọi tên có đúng 1 phần, nên xác suất là 1 chia số tên.
Ví dụ
Danh sách 8 tên, trong đó “Minh *3”:
- Tổng số phần
- 7 × 1 + 3 = 10 phần
- Xác suất của Minh
- 3 / 10 = 30%
- Xác suất mỗi tên còn lại
- 1 / 10 = 10%
- Góc múi của Minh
- 30% × 360° = 108°
Múi của Minh rộng đúng 108°, gấp ba múi 36° của những tên còn lại. Đây là lý do không cần đọc số: nhìn múi là biết ai đang có lợi thế.
Câu hỏi thường gặp
Vòng quay này có thật sự ngẫu nhiên không?
Có, ở mức trình duyệt làm được: số rút ra từ crypto.getRandomValues, cùng nguồn ngẫu nhiên mà mã hoá dùng, kèm phép lấy mẫu có loại bỏ để không lệch về đầu danh sách. Không có danh sách nào được ưu tiên, và kết quả không phụ thuộc vào chỗ hình vẽ dừng lại.
Kết quả được quyết định trước hay sau khi quay?
Trước. Người trúng được rút ngay lúc bạn bấm quay, rồi vòng quay được tính góc để dừng đúng vào múi đó. Nhờ vậy kết quả không đổi dù máy chạy nhanh hay chậm, và nếu bạn tắt hiệu ứng chuyển động thì đáp án vẫn y hệt.
Làm sao để một người có khả năng trúng cao hơn?
Thêm “*” và một con số vào cuối dòng, ví dụ “Minh *3”. Viết tên đó ba lần cũng ra kết quả tương đương, nhưng vòng quay sẽ có ba múi rời nhau thay vì một múi to.
Quay nhiều lần thì một người có trúng lại không?
Có, trừ khi bạn bấm “Bỏ khỏi vòng quay” sau mỗi lượt. Rút có hoàn lại thì lượt sau không nhớ gì về lượt trước — trúng hai lần liên tiếp là chuyện bình thường về mặt xác suất, không phải lỗi.
Quay được tối đa bao nhiêu tên?
Danh sách nhận tối đa 500 tên. Quá 60 tên thì chữ trên múi bị bỏ đi vì không còn cỡ chữ nào đọc được, nhưng vòng quay vẫn chạy và tên người trúng vẫn hiện đầy đủ ở dưới.
Danh sách của tôi có bị lưu lại không?
Không. Trang này là HTML tĩnh, không gửi gì lên máy chủ và không ghi danh sách vào bộ nhớ trình duyệt. Cách duy nhất để giữ danh sách là sao chép liên kết chia sẻ — khi đó danh sách nằm trong chính đường dẫn.
Chia sẻ danh sách cho người khác thế nào?
Bấm “Chép liên kết” rồi gửi đi. Người nhận mở ra sẽ thấy đúng danh sách đó và quay được ngay, nhưng kết quả hai bên rút là hai lượt độc lập — liên kết mang theo danh sách, không mang theo người trúng.
Dùng để bốc thăm trúng thưởng có được không?
Được, với điều kiện mọi người đều nhìn thấy danh sách trước khi quay. Điểm yếu của mọi công cụ kiểu này không nằm ở phép rút số mà ở chỗ ai kiểm soát danh sách đầu vào — nên hãy chia sẻ liên kết trước, rồi quay.