Ebben a példában megtanul egy olyan JavaScript programot írni, amely megkeveri a pakli kártyákat.
A példa megértéséhez ismernie kell a következő JavaScript programozási témákat:
- JavaScript tömb rendezés ()
- JavaScript for loop
Példa: Keverje meg a kártyalapot
// 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)`) )
Kimenet
Az első öt kártya a következő: 4 az 5-ös klubból a Diamonds Jack, a 2-es gyémántból a 4-es pikk-klubból
A fenti programban az öltönyök és az értékváltozók egy kártya elemeit tartalmazzák.
A beágyazott for
hurok egy pakli kártya létrehozására szolgál.
- Létre kell hoznunk egy kártyacsomagot, amely minden egyes öltönyt tartalmaz az összes értékkel. Tehát az első
for
hurok iterál az összes színre, a másodikfor
hurok pedig az értékekre. Ezután létrehozzák az elemeket és hozzáadják adeck
tömbhöz. - A tömb elemeket objektumként tárolják:
((Value: "Ace", Suit: "Spades"),(Value: "2", Suit: "Spades")… )
A második for
hurok a kártyacsomag keverésére szolgál.
Math.random()
véletlenszerű számot generál.Math.floor()
az értéket a legközelebbi egész értékre csökkentve adja vissza a számot.- Egy véletlenszerű számot generálunk 0 és 51 között, és két kártya pozíciót cserélünk fel.
A harmadik for
hurok az első öt kártya megjelenítésére szolgál az új pakliban.