例:カードのデッキをシャッフルする
// 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 < values.length; x++) {
let card = { Value: values[x], Suit: suits[i] };
deck.push(card);
}
}
// shuffle the cards
for (let i = deck.length - 1; i > 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}`)
}
出力
The first five cards are: 4 of Club 5 of Diamonds Jack of Diamonds 2 of Club 4 of Spades
上記のプログラムでは、 スーツ そして 値 変数にはカードの要素が含まれています。
ネストされた for
ループは、カードのデッキを作成するために使用されます。
- それぞれを含むカードのデッキを作成する必要があります スーツ すべての 値。 だから最初の
for
ループはすべてを繰り返します スーツ そして2番目for
ループは繰り返します 値。 次に、要素が作成され、に追加されます。deck
アレイ。 - 配列要素は、次のようにオブジェクトとして格納されます。
[{Value: "Ace", Suit: "Spades"},{Value: "2", Suit: "Spades"}.....]
二番目 for
ループは、カードのデッキをシャッフルするために使用されます。
Math.random()
乱数を生成します。Math.floor()
値を最も近い整数値に減らして数値を返します。- 間で乱数が生成されます 0 そして 51 そして、2枚のカードの位置が交換されます。
第3 for
ループは、新しいデッキの最初の5枚のカードを表示するために使用されます。
Hope this helps!
Source link