Trong ví dụ này, bạn sẽ học cách viết một chương trình JavaScript xáo trộn một bộ bài.
Để hiểu ví dụ này, bạn nên có kiến thức về các chủ đề lập trình JavaScript sau:
- JavaScript Array sort ()
- JavaScript cho vòng lặp
Ví dụ: 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)`) )
Đầu ra
Năm lá đầu tiên là: 4 trong Câu lạc bộ 5 của Kim cương Jack of Diamonds 2 trong Câu lạc bộ 4 của quân bích
Trong chương trình trên, các biến suit và value chứa các phần tử của thẻ.
for
Vòng lặp lồng nhau được sử dụng để tạo ra một bộ bài.
- Chúng ta cần tạo một bộ bài chứa mỗi bộ với tất cả các giá trị. Vì vậy,
for
vòng lặp đầu tiên lặp lại trên tất cả các bộ quần áo vàfor
vòng lặp thứ hai lặp lại các giá trị. Sau đó, các phần tử được tạo và thêm vàodeck
mảng. - Các phần tử mảng được lưu trữ dưới dạng một đối tượng như:
((Value: "Ace", Suit: "Spades"),(Value: "2", Suit: "Spades")… )
for
Vòng lặp thứ hai được sử dụng để xáo trộn bộ bài.
Math.random()
tạo ra một số ngẫu nhiên.Math.floor()
trả về số bằng cách giảm giá trị đến giá trị nguyên gần nhất.- Một số ngẫu nhiên được tạo ra từ 0 đến 51 và hai vị trí thẻ được hoán đổi.
for
Vòng lặp thứ ba được sử dụng để hiển thị năm thẻ đầu tiên trong bộ bài mới.