مرکزی مواد پر جائیں

مفت سکہ اچھالیں اور اسپن ویل

ایک 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 سے مکمل طور پر کلائنٹ سائیڈ اینیمیشن چلاتے ہیں۔ کسی بھی مرحلے پر سرور شامل نہیں۔

  1. 1
    Web Crypto فاتح چنتا ہے
    کوئی بھی اینیمیشن شروع ہونے سے پہلے crypto.getRandomValues ایک Uint32Array کو کرپٹوگرافک طور پر بے ترتیب 32-bit عدد سے بھرتا ہے۔ ایک modulo عمل اسے آپشنز کی تعداد سے جوڑتا ہے (ہیڈ/ٹیل کے لیے 2، پہیے یا چناؤ کے لیے N)، اس لیے ہر نتیجے کا امکان بالکل برابر ہے۔
  2. 2
    گردش کا زاویہ نتیجے پر رکنے کے لیے نکالا جاتا ہے
    سکے کے لیے کوڈ موجودہ مجموعی زاویے کے اوپر سب سے مختصر اضافی گردش نکالتا ہے جو درست رُخ اوپر رکھے — ہیڈ 0° پر، ٹیل 180° پر — پھر 5 مکمل چکر جوڑتا ہے تاکہ حقیقی اچھال لگے۔ پہیہ بھی یہی کرتا ہے: وہ زاویائی فرق تلاش کرتا ہے جو جیتنے والے حصے کو پوائنٹر کے نیچے لائے، 6 مکمل گردشیں جوڑتا ہے، اور تھوڑی بے ترتیب لرزش لگاتا ہے تاکہ پوائنٹر ہمیشہ حصے کے بالکل بیچ میں نہ رکے۔
  3. 3
    CSS transitions اور requestAnimationFrame اینیمیشن چلاتے ہیں
    سکہ اور پہیہ ایک مجموعی گردشی قدر پر cubic-bezier easing کرو والے CSS transform سے اینیمیٹ ہوتے ہیں — زاویہ مقرر ہونے کے بعد فی فریم JavaScript کی ضرورت نہیں۔ آپشن چننے والا اس کی بجائے requestAnimationFrame استعمال کرتا ہے: ہر فریم پر مربعی طور پر بڑھتا وقفہ طے کرتا ہے کہ نمایاں حصہ آگے بڑھے یا نہیں، جس سے سلاٹ مشین جیسی سست روی بنتی ہے جو ہمیشہ پہلے سے طے شدہ فاتح پر رکتی ہے۔
  4. 4
    نتیجہ ظاہر ہو کر سیشن ہسٹری میں درج ہوتا ہے
    اینیمیشن مکمل ہونے پر ایک setTimeout چلتا ہے (سکے کے لیے 1.3 s، پہیے کے لیے 4.3 s) اور نتیجہ state میں لکھتا ہے۔ سکے کا موڈ ہیڈ/ٹیل کی گنتی کے ساتھ 24 اچھالوں تک کی سیشن ہسٹری رکھتا ہے۔ prefers-reduced-motion فعال رکھنے والے صارفین اینیمیشن مکمل چھوڑ کر فوراً نتیجہ دیکھتے ہیں۔

متعلقہ ٹولز

اکثر پوچھے جانے والے سوالات