Hopp til hovedinnhold
LibraTool logoLibraTool

Gratis Myntkast og lykkehjul

Kast en virtuell mynt, snurr et tilpassbart hjul eller velg tilfeldig fra en liste over alternativer. Bruker nettleserens kryptografisk sikre tilfeldighet — ikke en verifiserbar offentlig trekning, så unngå regulerte konkurranser.

Fungerer uten nett når den er lastet

🔒 Alle tre bruker nettleserens kryptografisk sikre tilfeldighetsgenerator: resultatet velges først og animeres deretter — mynten er en sann 50/50, hjulet snurres til sitt allerede valgte resultat, og velgeren er upartisk. Ingenting forlater enheten din. Dette er rettferdig for uformell bruk, men det er ikke en verifiserbar offentlig trekning, så unngå regulerte konkurranser eller beslutninger med høy verdi.

Vanlige bruksområder

  • Kastingen mynter for å ta beslutningerBruk en rettferdig virtuell myntekast for å ta rask, upartisk beslutninger når du sitter fast mellom to valg.
  • Spinn hjul for tilfeldige lagoppgaverBruk det tilpassbare spinnhjulet for å tilfeldigt tilordne lagmedlemmer til oppgaver, roller eller grupper.
  • Tilfeldig elevplukker for klasseromBruk spinnhjulet eller alternativpluckeren for å tilfeldigt kalle på elever, tilordne grupper eller velge frivillige.
  • Virtuell myntekast for idrettKastingen en rettferdig mynt for å bestemme lagssider, første besittelse, serverrekkefølge eller andre idrettsbeslutninger.
  • Tilfeldig plukker for giveawaysVelg en tilfeldig vinner fra en oppgangsliste ved hjelp av alternativpluckeren — gjennomsiktig og rettferdig.

Hvordan det fungerer

Alle tre modusene — myntkast, lykkehjul og valgvelger — bruker nettleserens innebygde Web Crypto API (crypto.getRandomValues) for å avgjøre vinneren, og driver deretter animasjonen helt på klientsiden med CSS-transformasjoner og requestAnimationFrame. Ingen server er involvert på noe tidspunkt.

  1. 1
    Web Crypto velger vinneren
    Før animasjonen starter, fyller crypto.getRandomValues en Uint32Array med et kryptografisk tilfeldig 32-bits heltall. En modulusoperasjon kobler det til antall alternativer (2 for kron/mynt, N for hjulet eller velgeren), så hvert utfall har nøyaktig lik sannsynlighet.
  2. 2
    Rotasjonsvinkelen beregnes for å lande på resultatet
    For mynten beregner koden den korteste ekstra rotasjonen (på toppen av den nåværende samlede vinkelen) som ender med riktig side opp — kron ved 0°, mynt ved 180° — og legger til 5 hele omdreininger så det ser ut som et ekte kast. Hjulet gjør det samme: det finner vinkelforskyvningen som bringer vinnerfeltet under pilen, legger til 6 hele omdreininger og en liten tilfeldig variasjon, så pilen ikke alltid stopper midt i feltet.
  3. 3
    CSS-overganger og requestAnimationFrame driver animasjonen
    Mynten og hjulet animeres via CSS transform med en cubic-bezier-kurve på én samlet rotasjonsverdi — ingen JavaScript per bilde trengs når vinkelen er satt. Valgvelgeren bruker i stedet requestAnimationFrame: for hvert bilde avgjør et kvadratisk voksende intervall om markeringen skal flyttes videre, noe som gir en spilleautomat-lignende nedbremsing som alltid stopper på den forhåndsbestemte vinneren.
  4. 4
    Resultatet vises og logges i økthistorikken
    En setTimeout utløses når animasjonen er ferdig (1,3 s for mynten, 4,3 s for hjulet) og skriver resultatet til state. Myntmodus fører en løpende økthistorikk på opptil 24 kast med antall kron/mynt. Brukere med prefers-reduced-motion slått på hopper over animasjonen og ser resultatet med en gang.

Relaterte verktøy

Ofte stilte spørsmål