У цьому прикладі ви навчитеся писати програму 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
цикл використовується для відображення перших п’яти карт у новій колоді.