В этом примере вы научитесь писать программу на JavaScript, которая перемешивает колоду карт.
Чтобы понять этот пример, вы должны знать следующие темы программирования JavaScript:
- Сортировка массива JavaScript ()
- JavaScript для цикла
Пример: перемешать колоду карт
// 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)`) )
Вывод
Первые пять карт: 4 бубнового клуба 5 Бубновый валет 2 Бубновый клуб 4 пик
В приведенной выше программе переменные мастей и значений содержат элементы карты.
Вложенный for
цикл используется для создания колоды карт.
- Нам нужно создать колоду карт, содержащую каждую масть со всеми значениями. Таким образом, первый
for
цикл перебирает все костюмы, а второйfor
цикл перебирает значения. Затем элементы создаются и добавляются вdeck
массив. - Элементы массива хранятся как объект как:
((Value: "Ace", Suit: "Spades"),(Value: "2", Suit: "Spades")… )
Второй for
цикл используется для тасования колоды карт.
Math.random()
генерирует случайное число.Math.floor()
возвращает число, уменьшая значение до ближайшего целого числа.- Случайное число генерируется от 0 до 51, и две позиции карт меняются местами.
Третий for
цикл используется для отображения первых пяти карт в новой колоде.