Šajā piemērā jūs iemācīsities rakstīt JavaScript programmu, kas sajauc kāršu paku.
Lai saprastu šo piemēru, jums jāpārzina šādas JavaScript programmēšanas tēmas:
- JavaScript masīva kārtošana ()
- JavaScript ciklam
Piemērs: Jaukt karšu klāju
// 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)`) )
Rezultāts
Pirmās piecas kārtis ir: 4 no Pīķa 4. kluba Diamonds Džeks no 5. kluba
Iepriekš minētajā programmā uzvalku un vērtību mainīgie satur kartes elementus.
Ligzdoto for
cilpu izmanto, lai izveidotu kāršu paku.
- Mums jāizveido kāršu paka, kurā būtu katrs uzvalks ar visām vērtībām. Tātad pirmā
for
cilpa atkārto visus uzvalkus un otrāfor
cilpa atkārto vērtības. Pēc tam elementi tiek izveidoti un pievienotideck
masīvam. - Masīva elementi tiek saglabāti kā objekts kā:
((Value: "Ace", Suit: "Spades"),(Value: "2", Suit: "Spades")… )
Otro for
cilpu izmanto, lai sajauktu kāršu paku.
Math.random()
ģenerē nejaušu skaitli.Math.floor()
atgriež skaitli, samazinot vērtību līdz tuvākajai veselā skaitļa vērtībai.- Starp 0 un 51 tiek ģenerēts nejaušs skaitlis, un divas kartes pozīcijas tiek apmainītas.
Trešo for
cilpu izmanto, lai parādītu pirmās piecas kārtis jaunajā klājā.