Merge pull request 'algo' (#14) from algo into master

Reviewed-on: #14
pull/32/head
Aurian JAULT 2 years ago
commit ababb7479c

@ -0,0 +1,112 @@
// Pseudo code
//
/*
* function checkReslt(array <Cards>)
* {
* new array<array<Attrib>> matrice = vide
*
* forEach(array: value)
* {
* matrice.add(value.getAttrib)
* }
* Check all length of matrice
* for(i = 0; i<matrice[0])
* let array<attribut> tab
* for (j=0; j<len(matrice))
* tab.push matrice[j][i]
* if(!checkatrib(tab))
* {
* return false;
* }
* return true;
*
* }
*
*
* */
function main()
{
// "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(cards)
{
let attributesMatrix = [];
cards.forEach(element => {
attributesMatrix.push(element.getAttributes());
});
// Idéalement check si toute les listes d'attributs sont de même taille
for(let i = 0; i < attributesMatrix[0].length; i++) {
let listAttributes = []
for(let j = 0; j < attributesMatrix.length; j++) {
listAttributes.push(attributesMatrix[j][i]);
}
if(!checkAttributes(listAttributes)){
return false;
}
}
return true;
}
function checkAttributes(attributes){
let orderingMethod = "null"; // Can only take ["null", "same", "different"]
let boolLoop = true;
attributes.forEach((value, index) => {
if(index !== attributes.length)
{
for (let i = index+1; i < attributes.length; i++)
{
if(attributes[i] === value)
{
if(orderingMethod === "null" || orderingMethod === "same")
{
orderingMethod = "same";
}
else
{
boolLoop = false;
}
}
else
{
if(orderingMethod === "null" || orderingMethod === "different")
{
orderingMethod = "different"
}
else
{
boolLoop = false
}
}
}
}
});
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