W tym przykładzie nauczysz się pisać program JavaScript, który tasuje talię kart.
Aby zrozumieć ten przykład, powinieneś znać następujące tematy programowania JavaScript:
- JavaScript Array sort ()
- JavaScript for loop
Przykład: Potasuj talię kart
// 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)`) )
Wynik
Pierwsze pięć kart to: 4 z Club 5 of Diamonds Jack of Diamonds 2 z Club 4 of Spades
W powyższym programie zmienne kolory i wartości zawierają elementy karty.
Zagnieżdżona for
pętla służy do tworzenia talii kart.
- Musimy stworzyć talię kart zawierającą każdy kolor ze wszystkimi wartościami. Zatem pierwsza
for
pętla iteruje po wszystkich kolorach, a drugafor
pętla iteruje po wartościach. Następnie elementy są tworzone i dodawane dodeck
tablicy. - Elementy tablicy są przechowywane jako obiekt jako:
((Value: "Ace", Suit: "Spades"),(Value: "2", Suit: "Spades")… )
Druga for
pętla służy do tasowania talii kart.
Math.random()
generuje liczbę losową.Math.floor()
zwraca liczbę, zmniejszając wartość do najbliższej liczby całkowitej.- Generowana jest liczba losowa od 0 do 51, a dwie pozycje kart są zamieniane.
Trzecia for
pętla służy do wyświetlania pierwszych pięciu kart z nowej talii.