From e87dec89fcb5bd4395ac7acdc6f7b62a260278cb Mon Sep 17 00:00:00 2001 From: Bastien Jacquelin Date: Tue, 28 Feb 2023 14:55:27 +0100 Subject: [PATCH] edit to work only with card, define funArrayOfAttributes --- src/Console/main.js | 32 ++++++++++++++++---------------- src/Model/Card.js | 12 +++++++++++- src/Model/Const.js | 12 ++++++------ src/Model/Deck.js | 5 ++--- src/Model/Factory.js | 15 +++++++++++++++ 5 files changed, 50 insertions(+), 26 deletions(-) diff --git a/src/Console/main.js b/src/Console/main.js index 6646e7b..d3c5845 100644 --- a/src/Console/main.js +++ b/src/Console/main.js @@ -94,20 +94,20 @@ console.groupEnd(); // CHECK SET -console.log("~~CHECKING ALL SET~~") +// console.log("~~CHECKING ALL SET~~") -for (let i=0; i<26;i++){ - console.log(`-----${i}emme itérations-----`) - console.log("Card to remove: ") - console.log(deck.outputCards[0].getAttributes(),deck.outputCards[1].getAttributes(),deck.outputCards[2].getAttributes()) - customCard=[deck.outputCards[0],deck.outputCards[1],deck.outputCards[2]]; - deck.checkSet(customCard); - console.log(`remaining cards : ${deck.remainingCards.length}`) - console.log(`All cards : ${deck.allCards.length}`) - console.log(`size output ${deck.outputCards.length}`); - console.group('Output cards'); - deck.outputCards.forEach(e => { - console.log(e.getAttributes()); - }); -} -deck.checkSet(customCard); \ No newline at end of file +// for (let i=0; i<26;i++){ +// console.log(`-----${i}emme itérations-----`) +// console.log("Card to remove: ") +// console.log(deck.outputCards[0].getAttributes(),deck.outputCards[1].getAttributes(),deck.outputCards[2].getAttributes()) +// customCard=[deck.outputCards[0],deck.outputCards[1],deck.outputCards[2]]; +// deck.checkSet(customCard); +// console.log(`remaining cards : ${deck.remainingCards.length}`) +// console.log(`All cards : ${deck.allCards.length}`) +// console.log(`size output ${deck.outputCards.length}`); +// console.group('Output cards'); +// deck.outputCards.forEach(e => { +// console.log(e.getAttributes()); +// }); +// } +// deck.checkSet(customCard); \ No newline at end of file diff --git a/src/Model/Card.js b/src/Model/Card.js index 45c5972..2c0ab73 100644 --- a/src/Model/Card.js +++ b/src/Model/Card.js @@ -1,5 +1,15 @@ class Card{ - constructor(){} + constructor(attributes){ + this.attributes=attributes; + } + createAttributes(arrayOfAttributes){ + + } + + + + + /** * * @returns all attributes of a card diff --git a/src/Model/Const.js b/src/Model/Const.js index 201e43e..33ff496 100644 --- a/src/Model/Const.js +++ b/src/Model/Const.js @@ -1,6 +1,6 @@ -const tabColor = ['red','purple','green','blue','orange']; -const tabNumber = [1,2,3,4,5]; -const tabShape = ['diamond','oval','wave','star','triangle']; -const tabFilling = ['empty','stripped','full','pointed','squared']; -const tabOutline = ['full','dotted ','hyphen','cloudy','sharpy']; -const ATTRIBUTES=[tabColor,tabNumber,tabShape,tabFilling,tabOutline] \ No newline at end of file +const TAB_COLOR = ['red','purple','green','blue','orange']; +const TAB_NUMBER = [1,2,3,4,5]; +const TAB_SHAPE = ['diamond','oval','wave','star','triangle']; +const TAB_FILLING = ['empty','stripped','full','pointed','squared']; +const TAB_OUTLINE = ['full','dotted','hyphen','cloudy','sharpy']; +const ATTRIBUTES=[TAB_COLOR,TAB_NUMBER,TAB_SHAPE,TAB_FILLING,TAB_OUTLINE] \ No newline at end of file diff --git a/src/Model/Deck.js b/src/Model/Deck.js index c4c7b41..8b0c280 100644 --- a/src/Model/Deck.js +++ b/src/Model/Deck.js @@ -45,7 +45,6 @@ class Deck{ const random = Math.floor(Math.random() * this.remainingCards.length); return random; } - /** * * @param attributes : index of the attributes used @@ -53,8 +52,8 @@ class Deck{ * @author Bastien Jacquelin */ createCards(attributes){ - let factory = new Factory(attributes) - return factory.product + let factory = new Factory(attributes); + return factory.product; } /** diff --git a/src/Model/Factory.js b/src/Model/Factory.js index 2ab720c..39d54bc 100644 --- a/src/Model/Factory.js +++ b/src/Model/Factory.js @@ -2,7 +2,21 @@ class Factory{ constructor(arrayOfAttributes){ let length=arrayOfAttributes.length this.product=this.concreteCardCreation(arrayOfAttributes,length); + console.log("arrayOfAttributes",this.funArrayOfAttributes(arrayOfAttributes)); } + funArrayOfAttributes(arrayOfAttributes){ + let attr=[]; + let l=arrayOfAttributes.length; + arrayOfAttributes.forEach(e => { + for (let i=0;i