В този пример ще се научите да пишете програма за 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 от Club 5 of Diamonds Jack of Diamonds 2 от Club 4 of Spades
В горната програма променливите костюми и стойности съдържат елементите на карта.
Вложеният for
цикъл се използва за създаване на тесте карти.
- Трябва да създадем тесте карти, съдържащи всякакви масти с всички стойности. Така че първият
for
цикъл се итерира върху всички костюми, а вториятfor
цикъл се итерира над стойностите. След това елементите се създават и добавят къмdeck
масива. - Елементите на масива се съхраняват като обект като:
((Value: "Ace", Suit: "Spades"),(Value: "2", Suit: "Spades")… )
Вторият for
цикъл се използва за разбъркване на тестето карти.
Math.random()
генерира произволно число.Math.floor()
връща числото чрез намаляване на стойността до най-близката целочислена стойност.- Генерира се произволно число между 0 и 51 и две позиции на карти се разменят.
Третият for
цикъл се използва за показване на първите пет карти в новата тесте.