У овом примеру ћете научити да пишете ЈаваСцрипт програм који премешта шпил карата.
Да бисте разумели овај пример, требало би да имате знање о следећим темама програмирања ЈаваСцрипт:
- ЈаваСцрипт Арраи сорт ()
- ЈаваСцрипт за петљу
Пример: Случајно премештање шпила карата
// 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
петља се користи за приказ првих пет карата у новом шпилу.