În acest exemplu, veți învăța să scrieți un program JavaScript care amestecă un pachet de cărți.
Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele despre următoarele subiecte de programare JavaScript:
- Sortare matrice JavaScript ()
- JavaScript pentru buclă
Exemplu: Shuffle Deck of Cards
// program to shuffle the deck of cards // declare card elements const suits = ("Spades", "Diamonds", "Club", "Heart"); const values = ( "Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King", ); // empty array to contain cards let deck = (); // create a deck of cards for (let i = 0; i < suits.length; i++) ( for (let x = 0; x 0; i--) ( let j = Math.floor(Math.random() * i); let temp = deck(i); deck(i) = deck(j); deck(j) = temp; ) console.log('The first five cards are:'); // display 5 results for (let i = 0; i < 5; i++) ( console.log(`$(deck(i).Value) of $(deck(i).Suit)`) )
Ieșire
Primele cinci cărți sunt: 4 din Club 5 din Diamante Jack din Diamante 2 din Club 4 din Pică
În programul de mai sus, variabilele costume și valori conțin elementele unei cărți.
for
Bucla imbricată este utilizată pentru a crea un pachet de cărți.
- Trebuie să creăm un pachet de cărți care conține fiecare costum cu toate valorile. Deci, prima
for
buclă iterează peste toate costumele și a douafor
buclă iterează peste valori. Apoi, elementele sunt create și adăugate ladeck
matrice. - Elementele matrice sunt stocate ca obiect ca:
((Value: "Ace", Suit: "Spades"),(Value: "2", Suit: "Spades")… )
A doua for
buclă este utilizată pentru a amesteca pachetul de cărți.
Math.random()
generează un număr aleatoriu.Math.floor()
returnează numărul micșorând valoarea la cea mai apropiată valoare întreagă.- Se generează un număr aleatoriu între 0 și 51 și se schimbă două poziții de cărți.
A treia for
buclă este utilizată pentru a afișa primele cinci cărți din noul pachet.