create cards and deck

pull/37/head
Bastien JACQUELIN 2 years ago
parent cd626cbc38
commit 7450bb8877

@ -27,19 +27,33 @@ try {
} }
console.groupEnd(); console.groupEnd();
console.group('Deck'); console.group('Deck');
let deck = new Deck(); let deck = new Deck(4);
console.log(`Output cards ${deck.outputCards}`);
console.log(`All cards with 4 attributes size ${deck.allCards.length}`);
console.log(`size ${deck.outputCards.length}`);
// deck.allCards.forEach(e => {
// console.log(e.color,e.number,e.shape,e.filling);
// });
console.log(`Output cards`);
deck.outputCards.forEach(e => {
console.log(e.color,e.number,e.shape,e.filling);
});
console.log(`set already made ${deck.setMade}`); console.log(`set already made ${deck.setMade}`);
console.log(`All cards ${deck.allCards}`);
console.log(`Remaining cards ${deck.remainingCards}`);
console.groupEnd();
console.group('Maths');
let list=[];
list.push(1);
list.push(2); let deck5 = new Deck(5)
let gngn=Math.floor(Math.random() * list.length) console.log(`All cards with 5 attributes size ${deck5.allCards.length}`);
console.log(gngn); // deck5.allCards.forEach(e => {
// console.log(e.color,e.number,e.shape,e.filling,e.outline);
// });
//console.log(`Remaining cards ${deck.remainingCards}`);
//console.log(`random : ${deck.getRandCard()}`);
console.groupEnd(); console.groupEnd();

@ -1,19 +1,45 @@
class Deck{ class Deck{
constructor(){ constructor(nbAttributes){
this.outputCards=this.createDeck(); this.allCards=this.createCards(nbAttributes);// All the cards in the game
this.setMade=[]; this.remainingCards=this.allCards;// cards in the stack
this.allCards=this.createCards(); this.outputCards=[];// 12 cards lay on the table
this.remainingCards=this.allCards; this.setMade=[];// array with all the set already mades (array of set)
this.createDeck();
} }
createDeck(){ createDeck(){
for (let i=0; i<12; i++){ for (let i=0; i<12; i++){
const rand = this.getRandCard();
this.outputCards.push(this.remainingCards[rand]);
this.remainingCards.splice(rand,1);
} }
} }
getRandCard(){ getRandCard(){
Math.floor(Math.random() * remainingCards.length); const random = Math.floor(Math.random() * this.remainingCards.length);
return random;
} }
createCards(){ createCards(nbAttributes){
return 456; const tabColor = ['red','purple','green','blue','orange'];
const tabShape = ['diamond','oval','wave','star','circle']
const tabFilling = ['empty','stripped','full','pointed','squared'];
const tabNumber = [1,2,3,4,5];
const tabOutline = ['full','dotted ','aa','bb','cc'];
let tabOfAllCards=[];
for (let c=0; c<nbAttributes-1; c++){
for (let n=0; n<nbAttributes-1; n++){
for (let s=0; s<nbAttributes-1; s++){
for (let f=0; f<nbAttributes-1; f++){
if(nbAttributes==4){
tabOfAllCards.push(new Card(tabColor[c],tabNumber[n],tabShape[s],tabFilling[f]));
}
else{
for(let o=0;o<nbAttributes-1;o++){
tabOfAllCards.push(new Card5(tabColor[c],tabNumber[n],tabShape[s],tabFilling[f],tabOutline[o]));
}
}
}
}
}
}
return tabOfAllCards;
} }
} }
Loading…
Cancel
Save