Σε αυτό το παράδειγμα, θα μάθετε να γράφετε ένα πρόγραμμα JavaScript που ανακατεύει μια τράπουλα.
Για να κατανοήσετε αυτό το παράδειγμα, θα πρέπει να γνωρίζετε τις ακόλουθες ενότητες προγραμματισμού JavaScript:
- Ταξινόμηση Array JavaScript ()
- JavaScript για βρόχο
Παράδειγμα: Shuffle Deck of Cards
// 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
βρόχος χρησιμοποιείται για την εμφάνιση των πρώτων πέντε φύλλων στη νέα τράπουλα.