مفت سکہ اچھالیں اور اسپن ویل
ایک virtual coin flip کریں، customizable wheel spin کریں، یا options کی list سے randomly pick کریں۔ آپ کے browser کی cryptographically secure randomness استعمال کرتا ہے — verifiable public draw نہیں ہے، تو regulated contests سے بچیں۔
🔒 تینوں آپ کے browser کی cryptographically-secure random generator استعمال کرتے ہیں: result پہلے منتخب ہوتا ہے، پھر animated ہوتا ہے — coin true 50/50 ہے، wheel اپنے پہلے سے منتخب result تک spin ہوتا ہے، اور picker unbiased ہے۔ کوئی بھی چیز آپ کے device سے نہیں نکلتی۔ یہ casual use کے لیے fair ہے، لیکن یہ verifiable public draw نہیں ہے، تو regulated contests یا high-value decisions سے بچیں۔
عام استعمالات
- فیصلوں کے لیے سکہ پھیکیںمنصفانہ virtual سکہ پھلپ استعمال کریں دو آپشنز کے درمیان تیز، غیر جانبدار فیصلے کرنے کے لیے۔
- بے ترتیب ٹیم Assignments کے لیے Spin Wheelقابل تبدیلی spin wheel استعمال کریں ٹیم کے ارکان کو کاموں، کرداروں، یا گروپوں میں بے ترتیب تفویض کرنے کے لیے۔
- کلاسز کے لیے بے ترتیب طالب علم Pickerspin wheel یا option picker استعمال کریں طالب علموں کو بے ترتیب طور پر کال کرنے، گروپ تفویض کرنے، یا رضاکاروں کو منتخب کرنے کے لیے۔
- کھیل کے لیے ورچوئل سکہ Flipمنصفانہ سکہ استعمال کر کے ٹیم کے سائڈز، پہلی possession، serve order، یا دیگر کھیل کے فیصلوں کا تعین کریں۔
- Giveaways کے لیے بے ترتیب PickerOption Picker استعمال کر کے entries کی فہرست سے بے ترتیب برائے فیصد منتخب کریں — شفاف اور منصفانہ۔
یہ کیسے کام کرتا ہے
تینوں موڈ — سکہ اچھالنا، پہیہ گھمانا اور آپشن چننا — جیتنے والا نتیجہ بنانے کے لیے براؤزر کی بلٹ اِن Web Crypto API (crypto.getRandomValues) استعمال کرتے ہیں، پھر CSS transforms اور requestAnimationFrame سے مکمل طور پر کلائنٹ سائیڈ اینیمیشن چلاتے ہیں۔ کسی بھی مرحلے پر سرور شامل نہیں۔
- 1Web Crypto فاتح چنتا ہےکوئی بھی اینیمیشن شروع ہونے سے پہلے crypto.getRandomValues ایک Uint32Array کو کرپٹوگرافک طور پر بے ترتیب 32-bit عدد سے بھرتا ہے۔ ایک modulo عمل اسے آپشنز کی تعداد سے جوڑتا ہے (ہیڈ/ٹیل کے لیے 2، پہیے یا چناؤ کے لیے N)، اس لیے ہر نتیجے کا امکان بالکل برابر ہے۔
- 2گردش کا زاویہ نتیجے پر رکنے کے لیے نکالا جاتا ہےسکے کے لیے کوڈ موجودہ مجموعی زاویے کے اوپر سب سے مختصر اضافی گردش نکالتا ہے جو درست رُخ اوپر رکھے — ہیڈ 0° پر، ٹیل 180° پر — پھر 5 مکمل چکر جوڑتا ہے تاکہ حقیقی اچھال لگے۔ پہیہ بھی یہی کرتا ہے: وہ زاویائی فرق تلاش کرتا ہے جو جیتنے والے حصے کو پوائنٹر کے نیچے لائے، 6 مکمل گردشیں جوڑتا ہے، اور تھوڑی بے ترتیب لرزش لگاتا ہے تاکہ پوائنٹر ہمیشہ حصے کے بالکل بیچ میں نہ رکے۔
- 3CSS transitions اور requestAnimationFrame اینیمیشن چلاتے ہیںسکہ اور پہیہ ایک مجموعی گردشی قدر پر cubic-bezier easing کرو والے CSS transform سے اینیمیٹ ہوتے ہیں — زاویہ مقرر ہونے کے بعد فی فریم JavaScript کی ضرورت نہیں۔ آپشن چننے والا اس کی بجائے requestAnimationFrame استعمال کرتا ہے: ہر فریم پر مربعی طور پر بڑھتا وقفہ طے کرتا ہے کہ نمایاں حصہ آگے بڑھے یا نہیں، جس سے سلاٹ مشین جیسی سست روی بنتی ہے جو ہمیشہ پہلے سے طے شدہ فاتح پر رکتی ہے۔
- 4نتیجہ ظاہر ہو کر سیشن ہسٹری میں درج ہوتا ہےاینیمیشن مکمل ہونے پر ایک setTimeout چلتا ہے (سکے کے لیے 1.3 s، پہیے کے لیے 4.3 s) اور نتیجہ state میں لکھتا ہے۔ سکے کا موڈ ہیڈ/ٹیل کی گنتی کے ساتھ 24 اچھالوں تک کی سیشن ہسٹری رکھتا ہے۔ prefers-reduced-motion فعال رکھنے والے صارفین اینیمیشن مکمل چھوڑ کر فوراً نتیجہ دیکھتے ہیں۔
متعلقہ ٹولز
وہیل اسپنر
ناموں یا انتخاب کی فہرست ٹائپ کریں، وہیل گھمائیں اور اسے تصادفی طور پر ایک چننے دیں، ٹک کی آواز، کنفیٹی اور ہر جیتنے والے کو ہٹانے کے آپشن کے ساتھ۔
بے ترتیب نمبر جنریٹر
کسی بھی رینج میں بے ترتیب نمبر بنائیں، منفرد نمبر فہرستیں بنائیں، یا پاسے پھینکیں۔ کرپٹوگرافک طور پر محفوظ randomness استعمال کرتا ہے۔
بے ترتیب ٹیم جنریٹر
ناموں کی فہرست کو متوازن بے ترتیب ٹیموں میں تقسیم کریں — ٹیم کی تعداد یا ٹیم کے سائز سے۔ کرپٹوگرافک طور پر منصفانہ shuffle، فوری reshuffle۔