സൗജന്യ കോയിൻ ഫ്ലിപ്പ് & സ്പിൻ വീൽ
ഒരു വെർച്വൽ നാണയം ടോസ് ചെയ്യുക, കസ്റ്റമൈസ് ചെയ്യാവുന്ന ചക്രം സ്പിൻ ചെയ്യുക, അല്ലെങ്കിൽ ഒരു ലിസ്റ്റിൽ നിന്ന് ക്രമരഹിതമായി തിരഞ്ഞെടുക്കുക. നിങ്ങളുടെ ബ്രൗസറിന്റെ ക്രിപ്റ്റോഗ്രാഫിക്കലി സുരക്ഷിതമായ റാൻഡംനെസ് ഉപയോഗിക്കുന്നു — സ്ഥിരീകരിക്കാവുന്ന പൊതു ഡ്രോ അല്ല, അതിനാൽ നിയന്ത്രിത മത്സരങ്ങൾക്ക് ഒഴിവാക്കുക.
🔒 മൂന്നും നിങ്ങളുടെ ബ്രൗസറിന്റെ ക്രിപ്റ്റോഗ്രാഫിക്കലി-സെക്യൂർ റാൻഡം ജനറേറ്റർ ഉപയോഗിക്കുന്നു: ഫലം ആദ്യം തിരഞ്ഞെടുക്കപ്പെടും, പിന്നീട് ആനിമേറ്റ് ചെയ്യപ്പെടും — കോയിൻ യഥാർത്ഥ 50/50 ആണ്, വീൽ അതിന്റെ മുൻകൂട്ടി തിരഞ്ഞെടുത്ത ഫലത്തിലേക്ക് കറക്കപ്പെടുന്നു, പിക്കറും പക്ഷപാതരഹിതമാണ്. ഒന്നും നിങ്ങളുടെ ഡിവൈസ് വിടുന്നില്ല. സാധാരണ ഉപയോഗത്തിന് ഇത് ന്യായമാണ്, പക്ഷേ ഇത് ഒരു സ്ഥിരീകരിക്കാവുന്ന പൊതു നറുക്കെടുപ്പ് അല്ല, അതിനാൽ റെഗുലേറ്റ് ചെയ്ത മത്സരങ്ങൾക്കോ ഉയർന്ന മൂല്യമുള്ള തീരുമാനങ്ങൾക്കോ ഇത് ഒഴിവാക്കുക.
ഇത് എങ്ങനെ പ്രവർത്തിക്കുന്നു
coin flip, spin wheel, option picker എന്നീ മൂന്ന് മോഡുകളും ജയിക്കുന്ന ഫലം സൃഷ്ടിക്കാൻ ബ്രൗസറിന്റെ ബിൽറ്റ്-ഇൻ Web Crypto API (crypto.getRandomValues) ഉപയോഗിക്കുന്നു, പിന്നെ CSS transforms, requestAnimationFrame ഉപയോഗിച്ച് പൂർണ്ണമായും ക്ലയന്റ്-സൈഡിൽ ആനിമേഷൻ നടത്തുന്നു. ഒരു ഘട്ടത്തിലും ഒരു സെർവറും ഉൾപ്പെട്ടിട്ടില്ല.
- 1Web Crypto വിജയിയെ തിരഞ്ഞെടുക്കുന്നുഏത് ആനിമേഷനും ആരംഭിക്കുന്നതിന് മുമ്പ്, crypto.getRandomValues ഒരു ക്രിപ്റ്റോഗ്രാഫിക്കലി റാൻഡം 32-ബിറ്റ് ഇന്റിജർ കൊണ്ട് ഒരു Uint32Array നിറയ്ക്കുന്നു. ഒരു മോഡുലോ ഓപ്പറേഷൻ അതിനെ ഓപ്ഷനുകളുടെ എണ്ണത്തിലേക്ക് (heads/tails-ന് 2, wheel അല്ലെങ്കിൽ picker-ന് N) മാപ്പ് ചെയ്യുന്നു, അതിനാൽ ഓരോ ഫലത്തിനും കൃത്യമായി തുല്യ സാധ്യതയുണ്ട്.
- 2ഫലത്തിൽ ഇറങ്ങാൻ ഭ്രമണ കോൺ കണക്കാക്കുന്നുനാണയത്തിന്, ശരിയായ വശം മുകളിലായി അവസാനിക്കുന്ന ഏറ്റവും ചെറിയ അധിക ഭ്രമണം (നിലവിലെ ശേഖരിച്ച കോണിന് മുകളിൽ) — 0°-ൽ heads, 180°-ൽ tails — കോഡ് കണക്കാക്കുന്നു, പിന്നെ ഇത് ഒരു യഥാർത്ഥ വീഴ്ചയായി തോന്നാൻ 5 പൂർണ്ണ ചുറ്റലുകൾ ചേർക്കുന്നു. വീൽ ഇതേ ചെയ്യുന്നു: ജയിക്കുന്ന സ്ലൈസ് പോയിന്ററിന് കീഴിൽ കൊണ്ടുവരുന്ന ആംഗിൾ ഓഫ്സെറ്റ് കണ്ടെത്തുന്നു, 6 പൂർണ്ണ ഭ്രമണങ്ങൾ ചേർക്കുന്നു, പോയിന്റർ എപ്പോഴും സ്ലൈസിന്റെ കൃത്യം മധ്യത്തിൽ നിർത്താതിരിക്കാൻ ഒരു ചെറിയ ക്രമരഹിത ജിറ്റർ പ്രയോഗിക്കുന്നു.
- 3CSS ട്രാൻസിഷനുകളും requestAnimationFrame-ഉം ആനിമേഷൻ നടത്തുന്നുനാണയവും വീലും ഒരൊറ്റ ശേഖരിച്ച ഭ്രമണ മൂല്യത്തിൽ പ്രയോഗിച്ച cubic-bezier ഈസിംഗ് കർവുള്ള CSS transform വഴി ആനിമേറ്റ് ചെയ്യുന്നു — ആംഗിൾ സെറ്റ് ചെയ്ത ശേഷം ഫ്രെയിം-അടിസ്ഥാന JavaScript ആവശ്യമില്ല. ഓപ്ഷൻ പിക്കർ പകരം requestAnimationFrame ഉപയോഗിക്കുന്നു: ഓരോ ഫ്രെയിമിലും, ക്വാഡ്രാറ്റിക്കായി വളരുന്ന ഒരു ഇടവേള ഹൈലൈറ്റ് മുന്നോട്ട് നീക്കണോ എന്ന് നിശ്ചയിക്കുന്നു, മുൻകൂട്ടി നിശ്ചയിച്ച വിജയിയിൽ എപ്പോഴും നിർത്തുന്ന ഒരു സ്ലോട്ട്-മെഷീൻ ഡീസെലറേഷൻ നിർമ്മിക്കുന്നു.
- 4ഫലം വെളിപ്പെടുത്തി സെഷൻ ചരിത്രത്തിൽ ലോഗ് ചെയ്യുന്നുആനിമേഷൻ പൂർത്തിയാകുമ്പോൾ (നാണയത്തിന് 1.3 സെ, വീലിന് 4.3 സെ) ഒരു setTimeout ട്രിഗർ ചെയ്ത് ഫലം സ്റ്റേറ്റിലേക്ക് എഴുതുന്നു. നാണയ മോഡ് heads/tails കൗണ്ടുകളോടെ 24 ഫ്ലിപ്പുകൾ വരെയുള്ള ഒരു തുടർച്ചയായ സെഷൻ ചരിത്രം സൂക്ഷിക്കുന്നു. prefers-reduced-motion പ്രവർത്തനക്ഷമമാക്കിയ ഉപയോക്താക്കൾ ആനിമേഷൻ പൂർണ്ണമായും ഒഴിവാക്കി ഉടനടി ഫലം കാണുന്നു.
അനുബന്ധ ടൂളുകൾ
റാൻഡം നമ്പർ ജനറേറ്റർ
ഏതൊരു ശ്രേണിയിലും റാൻഡം നമ്പറുകൾ ജനറേറ്റ് ചെയ്യുക, യുണീക്ക് നമ്പർ ലിസ്റ്റുകൾ സൃഷ്ടിക്കുക, അല്ലെങ്കിൽ ഡൈസ് ഉരുട്ടുക. ക്രിപ്റ്റോഗ്രാഫിക്കലി സുരക്ഷിതമായ റാൻഡംനെസ് ഉപയോഗിക്കുന്നു.
റാൻഡം ടീം ജനറേറ്റർ
പേരുകളുടെ ലിസ്റ്റ് സന്തുലിതമായ റാൻഡം ടീമുകളാക്കി വിഭജിക്കുക — ടീം എണ്ണം അല്ലെങ്കിൽ ടീം വലുപ്പം അനുസരിച്ച്. ക്രിപ്റ്റോഗ്രാഫിക്കലി ന്യായമായ ഷഫിൾ, തൽക്ഷണ റീഷഫിൾ.
കളർ പിക്കർ & പാലറ്റ് ജനറേറ്റർ
നിറങ്ങൾ തിരഞ്ഞെടുക്കുക, HEX/RGB/HSL എന്നിവയ്ക്കിടയിൽ പരിവർത്തനം ചെയ്യുക, യോജിപ്പുള്ള പാലറ്റുകൾ സൃഷ്ടിക്കുക.