Articles

Cum se utilizează JavaScript Math.random () ca generator de numere aleatoare

Posted by admin

adesea, în timp ce dezvoltați proiecte, veți găsi modalități de a genera numere aleatorii.

cele mai frecvente cazuri de utilizare pentru generarea de numere aleatorii sunt jocurile de noroc cum ar fi zarurile, amestecarea cărților de joc și rotirea roților de ruletă.

În acest ghid, veți învăța cum să generați un număr aleatoriu folosind metoda Math.random() prin construirea unui mini joc de zaruri.

matematica.,aleatorie () metoda

Math obiect în JavaScript este un obiect încorporat care are proprietăți și metode pentru efectuarea calculelor matematice.

o utilizare obișnuită a obiectului Math este de a crea un număr aleatoriu folosind metoda random().

const randomValue = Math.random();

Dar Math.random() metoda nu întoarce un număr întreg. În schimb, returnează o valoare în virgulă mobilă între 0 (inclusiv) și 1 (exclusiv)., De asemenea, rețineți că valoarea returnată de la Math.random() este pseudo-aleatorie în natură.

numerele aleatoare generate de Math.random() pot părea aleatorii, dar aceste numere se vor repeta și în cele din urmă vor afișa un model non-aleatoriu pe o perioadă de timp.

Acest lucru se datorează faptului că generarea de numere aleatoare algoritmică nu poate fi niciodată cu adevărat aleatorie în natură. Acesta este motivul pentru care le numim generatoare de numere pseudo-aleatoare (prng).pentru a afla mai multe despre metoda Math.random(), puteți consulta acest ghid.,

Random Number Generator Function

acum să folosim metoda Math.random() pentru a crea o funcție care va returna un număr întreg aleatoriu între două valori (inclusiv).

const getRandomNumber = (min, max) => { return Math.floor(Math.random() * (max - min + 1)) + min;};

să descompunem logica aici.

metoda Math.random() va returna un număr în virgulă mobilă între 0 și 1 (exclusiv). deci intervalele ar fi după cum urmează:

[0 .................................... 1)[min .................................... max)

pentru a factor al doilea interval, scade min de la ambele capete. Deci, care ar da un interval între 0 și max-min.,

[0 .................................... 1)[0 .................................... max - min)

Deci, acum, pentru a obține o valoare aleatoare ai face următoarele:

const x = Math.random() * (max - min)

Aici x este o valoare aleatoare.

în prezent, max este exclus din intervalul. Pentru a face inclusiv, adăugați 1. De asemenea, trebuie să adăugați min înapoi care a fost scăzut mai devreme pentru a obține o valoare între [min, max).

const x = Math.random() * (max - min + 1) + min

Bine, deci acum ultima etapă rămasă este de a face sigur că x este întotdeauna un număr întreg.,

const x = Math.floor(Math.random() * (max - min + 1)) + min

Ai putea folosi Math.round() metodă în loc de floor(), dar care ar oferi o distribuție neuniformă. Aceasta înseamnă că atât maxcât și min vor avea o jumătate de șansă să iasă ca rezultat. Utilizarea Math.floor() vă va oferi o distribuție perfect uniformă.deci, acum că aveți o înțelegere corectă a modului în care funcționează o generație aleatorie, să folosim această funcție pentru a simula zarurile.,în această secțiune, vom crea un foarte simplu joc de zaruri mini. Doi jucători își introduc numele și vor arunca zarurile. Jucătorul a cărui zaruri are un număr mai mare va câștiga runda. mai întâi, creați o funcție rollDice care simulează acțiunea de rulare a zarurilor.

în Interiorul corpului funcției, chem getRandomNumber() funcția 1 și 6 ca argumente. Acest lucru vă va oferi orice număr aleatoriu între 1 și 6 (ambele inclusiv) la fel cum ar funcționa zaruri reale.,

const rollDice = () => getRandomNumber(1, 6);

apoi, creați două câmpuri de intrare și un buton de mai jos:

Când ‘Roll Zarurile butonul este apasat, player-nume de câmpuri de intrare și de apel rollDice() funcția pentru fiecare jucător.

puteți valida câmpurile de nume ale jucătorilor și puteți pretifica marcajul cu unele CSS. În scopul scurtității, îl păstrez simplu pentru acest ghid.

asta este. Puteți verifica demo-ul aici.

concluzie

deci generarea de numere aleatorii în JavaScript nu este atât de aleatorie până la urmă., Tot ce facem este de a lua în unele numere de intrare, folosind unele matematica, și scuipa un număr pseudo-aleatoare. pentru majoritatea aplicațiilor și jocurilor bazate pe browser, Această multă întâmplare este suficientă și își servește scopul.

asta este pentru acest ghid. Stai în siguranță și să păstreze codificare ca o bestie.

Leave A Comment