Neste exemplo, você aprenderá a escrever um programa JavaScript que embaralha um baralho de cartas.
Para entender este exemplo, você deve ter conhecimento dos seguintes tópicos de programação JavaScript:
- Array sort ()
- JavaScript para loop
Exemplo: baralho de cartas embaralhado
// 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)`) )
Resultado
As primeiras cinco cartas são: 4 do Clube 5 de Ouros Valete de Ouros 2 do Clube 4 de Espadas
No programa acima, as variáveis de naipes e valores contêm os elementos de uma carta.
O for
loop aninhado é usado para criar um baralho de cartas.
- Precisamos criar um baralho de cartas contendo cada naipe com todos os valores. Portanto, o primeiro
for
loop itera sobre todos os naipes e o segundofor
loop itera sobre os valores. Em seguida, os elementos são criados e adicionados aodeck
array. - Os elementos da matriz são armazenados como um objeto como:
((Value: "Ace", Suit: "Spades"),(Value: "2", Suit: "Spades")… )
O segundo for
loop é usado para embaralhar o baralho de cartas.
Math.random()
gera um número aleatório.Math.floor()
retorna o número diminuindo o valor para o valor inteiro mais próximo.- Um número aleatório é gerado entre 0 e 51 e duas posições de cartão são trocadas.
O terceiro for
ciclo é usado para exibir as primeiras cinco cartas do novo baralho.