Implement the Card array generation logic #1 #9
+0
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fixes #1 Implement the Card array generation logic
#2 Implement card shuffling logic
export default function getShuffledCardDeck() {
// generating cards of each color
for(let col of colors){
for(let val of values){
if(val.length==1){
for(let i=0;i<2;i++){
makeCard("number",col,val);
if(val==0) break;
}
}
// generating special cards
for(let sc of specialCards){
for(let i=0;i<4;i++){
makeCard("special","wild",sc);
}
}
let shuffledDeck= shuffle(deck)
return shuffledDeck
}
function makeCard(type, color, value) {
let card={
id:uuidv4(),
type:type,
color:color,
value:value,
};
deck.push(card);
}
function shuffle(deck) {
let n = deck.length;
for (let i = n - 1; i > 0; i--) {
// Pick a random index from 0 to i (inclusive)
let j = Math.floor(Math.random() * (i + 1));
}
return deck;
}
function makeCard can modified as per the need
generated 108 cards deck as per requirements and given conditions