Fin algo de verification des set

pull/14/head
Aurian JAULT 2 years ago
parent e8ec3507de
commit 6891a8bbdb

@ -23,44 +23,66 @@
* } * }
* *
* *
* */ * */
function main() function main()
{ {
// "Stub de test" // "Stub de test"
let card1 = new Card("Purple","1","Triangle","Full");
let card2 = new Card("Purple","2","Triangle","Full");
let card3 = new Card("Purple","3","Triangle","Full");
let card8 = new Card("Purple","4","Triangle","Full");
let card9 = new Card("Purple","5","Triangle","Full");
let card0 = new Card("Purple","6","Triangle","Full");
let card10 = new Card("Purple","7","Triangle","Full");
let card4 = new Card("Purple","1","Triangle","Full");
let card5 = new Card("Purple","2","Triangle","Full");
let card6 = new Card("Purple","1","Triangle","Full");
console.group("TEST TRUE")
if(isSet([card1,card2,card3,card8,card9,card0,card10]))
{
console.log("TRUE")
}
else
{
console.log("FALSE")
}
console.groupEnd()
} }
function isSet(card) function isSet(cards)
{ {
let matrice = []; let attributesMatrix = [];
card.forEach(element => { cards.forEach(element => {
matrice.push(element.getAttribute()); attributesMatrix.push(element.getAttributes());
}); });
// Idéalement check si toute les listes d'attributs sont de même taille // Idéalement check si toute les listes d'attributs sont de même taille
for (let i = 0; i < matrice[0]; i++) { for(let i = 0; i < attributesMatrix[0].length; i++) {
let listAttrib = [] let listAttributes = []
for (let j = 0; j < matrice[i]; j++) { for(let j = 0; j < attributesMatrix.length; j++) {
listAttrib.push(j); listAttributes.push(attributesMatrix[j][i]);
} }
if(!checkattrib(j)){ if(!checkAttributes(listAttributes)){
return false; return false;
} }
return true;
} }
return true;
} }
function checkattrib(attribs){ function checkAttributes(attributes){
let orderingMethod = "null"; // Can only take ["null", "same", "different"] let orderingMethod = "null"; // Can only take ["null", "same", "different"]
attribs.forEach(function callback(value, index) let boolLoop = true;
{ attributes.forEach((value, index) => {
if(!index === attribs.length) if(index !== attributes.length)
{ {
for (let i = index+1; i < array.length; i++) for (let i = index+1; i < attributes.length; i++)
{ {
if(attribs[i] === value) if(attributes[i] === value)
{ {
if(orderingMethod === "null" || orderingMethod === "same") if(orderingMethod === "null" || orderingMethod === "same")
{ {
@ -68,7 +90,7 @@ function checkattrib(attribs){
} }
else else
{ {
return false; boolLoop = false;
} }
} }
else else
@ -79,12 +101,12 @@ function checkattrib(attribs){
} }
else else
{ {
return false boolLoop = false
} }
} }
} }
} }
}); });
return true; return boolLoop === true;
} }

@ -0,0 +1,20 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>My awesome blog</title>
</head>
<body>
<h1>My awesome blog</h1>
</body>
<script src="./Model/Card.js"></script>
<script src="./algo.js"></script>
<script>
main();
</script>
</html>
Loading…
Cancel
Save