Lật Đồng Xu & Quay Vòng miễn phí
Tung một đồng xu ảo, quay một bánh xe có thể tùy chỉnh, hoặc chọn ngẫu nhiên từ một danh sách các tùy chọn. Sử dụng tính ngẫu nhiên an toàn từ mặt mã hóa của trình duyệt của bạn — không phải là một bài rút thăm có thể xác minh công khai, vì vậy hãy tránh các cuộc thi được quy định.
🔒 Cả ba đều sử dụng trình tạo số ngẫu nhiên an toàn mã hóa của trình duyệt của bạn: kết quả được chọn trước tiên, sau đó được tạo hiệu ứng — đồng xu là một trận 50/50 thực sự, bánh xe được quay đến kết quả đã được chọn, và công cụ chọn là không thiên vị. Không có gì rời khỏi thiết bị của bạn. Điều này là công bằng để sử dụng thường xuyên, nhưng nó không phải là một bài rút thăm có thể xác minh công khai, vì vậy hãy tránh các cuộc thi được quy định hoặc các quyết định giá trị cao.
Công dụng phổ biến
- Lật Đồng Xu để Đưa Ra Quyết ĐịnhSử dụng một lần lật đồng xu ảo công bằng để đưa ra các quyết định nhanh chóng, không thiên vị khi bạn bị lúng túng giữa hai tùy chọn.
- Quay Bánh Xe cho Các Nhiệm Vụ Nhóm Ngẫu NhiênSử dụng bánh xe có thể tùy chỉnh để gán ngẫu nhiên các thành viên nhóm cho các nhiệm vụ, vai trò hoặc nhóm.
- Trình Chọn Học Sinh Ngẫu Nhiên cho Lớp HọcSử dụng bánh xe hoặc bộ chọn tùy chọn để gọi học sinh ngẫu nhiên, gán nhóm hoặc chọn tình nguyện viên.
- Lật Đồng Xu Ảo cho Thể ThaoLật một đồng xu công bằng để xác định các bên đội, sở hữu thứ nhất, thứ tự phục vụ hoặc các quyết định thể thao khác.
- Trình Chọn Ngẫu Nhiên cho Chiến Dịch Quà TặngChọn một người chiến thắng ngẫu nhiên từ danh sách mục bằng Trình Chọn Tùy Chọn - minh bạch và công bằng.
Cách hoạt động
Cả ba chế độ — tung đồng xu, quay bánh xe và chọn tùy chọn — dùng Web Crypto API tích hợp của trình duyệt (crypto.getRandomValues) để tạo kết quả thắng, rồi điều khiển hoạt ảnh hoàn toàn phía máy khách bằng CSS transform và requestAnimationFrame. Không có máy chủ nào tham gia.
- 1Web Crypto chọn kết quảTrước khi hoạt ảnh bắt đầu, crypto.getRandomValues điền vào Uint32Array một số nguyên 32 bit ngẫu nhiên mật mã học. Phép chia lấy dư ánh xạ nó sang số lượng tùy chọn (2 cho sấp/ngửa, N cho bánh xe hoặc bộ chọn), nên mọi kết quả có xác suất bằng nhau chính xác.
- 2Góc xoay được tính để dừng đúng kết quảVới đồng xu, mã tính góc xoay thêm ngắn nhất (cộng vào góc tích lũy hiện tại) để kết thúc với mặt đúng hướng lên — ngửa ở 0°, sấp ở 180° — rồi thêm 5 vòng quay đầy đủ để trông như lật thật. Bánh xe cũng vậy: nó tìm độ lệch góc đưa ô thắng xuống dưới kim chỉ, thêm 6 vòng quay đầy đủ, và áp dụng một chút dao động ngẫu nhiên để kim không luôn dừng chính giữa ô.
- 3CSS transition và requestAnimationFrame điều khiển hoạt ảnhĐồng xu và bánh xe chuyển động qua CSS transform với đường cong gia tốc cubic-bezier áp dụng cho một giá trị góc xoay tích lũy duy nhất — không cần JavaScript cho từng khung hình khi góc đã được đặt. Bộ chọn tùy chọn thì dùng requestAnimationFrame: mỗi khung hình, một khoảng thời gian tăng theo bậc hai quyết định có chuyển vùng sáng hay không, tạo hiệu ứng chậm dần như máy đánh bạc và luôn dừng ở kết quả đã định trước.
- 4Kết quả được hiển thị và ghi vào lịch sử phiênMột setTimeout kích hoạt khi hoạt ảnh kết thúc (1,3 giây cho đồng xu, 4,3 giây cho bánh xe) và ghi kết quả vào state. Chế độ đồng xu giữ lịch sử phiên tối đa 24 lần tung kèm số lần sấp/ngửa. Người dùng bật prefers-reduced-motion sẽ bỏ qua hoàn toàn hoạt ảnh và thấy kết quả ngay.
Công cụ liên quan
Vòng quay ngẫu nhiên
Nhập danh sách tên hoặc lựa chọn, quay vòng quay và để nó chọn ngẫu nhiên một mục, kèm theo âm thanh tích tắc, hoa giấy và tùy chọn xóa người thắng cuộc.
Tạo Số Ngẫu Nhiên
Tạo số ngẫu nhiên trong bất kỳ phạm vi nào, tạo danh sách số độc nhất hoặc tung xúc xắc. Sử dụng tính ngẫu nhiên bảo mật mật mã.
Tạo Đội Ngẫu Nhiên
Chia danh sách tên thành các đội ngẫu nhiên cân bằng — theo số đội hoặc kích thước đội. Xáo trộn công bằng về mặt mật mã, xáo trộn lại tức thì.