diff --git a/site/vue/css/style.css b/site/vue/css/style.css
index 7a790d7..48d3ad7 100644
--- a/site/vue/css/style.css
+++ b/site/vue/css/style.css
@@ -298,6 +298,7 @@ hr {
}
#playPage {
+ z-index: 79;
display: none;
flex-direction: column;
height: 95%;
@@ -430,4 +431,22 @@ input[type=color] {
#show_stage {
margin: 0 20px 0 20px;
+}
+
+.veri_false {
+ color: var(--cool-color);
+}
+
+.veri_true {
+ color: green;
+}
+
+#waitingPage {
+ margin: auto;
+ position: absolute;
+ height: 90%;
+ border: 2px solid red;
+ width: 99%;
+ display: none;
+ z-index: 80;
}
\ No newline at end of file
diff --git a/site/vue/index.html b/site/vue/index.html
index 2975901..1be7a5f 100644
--- a/site/vue/index.html
+++ b/site/vue/index.html
@@ -10,6 +10,10 @@
+
+
@@ -40,22 +44,22 @@
b
| S |
-
+
0 |
0 |
0 |
-
+
0 |
1 |
0 |
-
+
1 |
0 |
0 |
-
+
1 |
1 |
1 |
@@ -82,22 +86,22 @@
b
| S |
-
+
0 |
0 |
0 |
-
+
0 |
1 |
1 |
-
+
1 |
0 |
1 |
-
+
1 |
1 |
1 |
@@ -123,11 +127,11 @@
a |
S |
-
+
0 |
1 |
-
+
1 |
0 |
diff --git a/site/vue/js/const.js b/site/vue/js/const.js
index 4174312..f039f03 100644
--- a/site/vue/js/const.js
+++ b/site/vue/js/const.js
@@ -19,7 +19,7 @@ var colorLineInnactive = "black";
var colorLineActive = "#4CFEFE";//FFF033
const lineStroke = 4;
const pourcentageBreak = 15;
-const tension = 0.3;
+const tension = 0;
//switch
const SwitchHeight = 25;
diff --git a/site/vue/js/createElement.js b/site/vue/js/createElement.js
index f27dddd..d906883 100644
--- a/site/vue/js/createElement.js
+++ b/site/vue/js/createElement.js
@@ -307,10 +307,30 @@ function createLinkAuto(logiqueId) {
}
}
});
- //on tire au sort
- let sortie = getRandomArbitrary(0, ligneSup.length);
- sortie = ligneSup[sortie];
- createLink(findLogique(logiqueId), findLogique(sortie.name));
+
+ var distance = findLogique(logiqueId).y;
+ var logiqueMatch = null;
+ ligneSup.forEach(function (element) {
+ if (Math.abs(findLogique(logiqueId).y - element.y) < distance) {
+ distance = Math.abs(findLogique(logiqueId).y - element.y);
+ logiqueMatch = element;
+ }
+ });
+ createLink(findLogique(logiqueId), logiqueMatch);
+ if (double) {
+ var distance2 = logique.y * 1500;
+ var logique2 = null;
+ ligneSup.splice(ligneSup.indexOf(logiqueMatch), 1);
+ ligneSup.forEach(function (element) {
+ if (Math.abs(logique.y - element.y) < distance2) {
+
+ distance2 = Math.abs(findLogique(logiqueId).y - element.y);
+ logique2 = element;
+ }
+ });
+ createLink(findLogique(logiqueId), logique2);
+ double = false;
+ }
}
}
diff --git a/site/vue/js/func.js b/site/vue/js/func.js
index 4f36311..0201349 100644
--- a/site/vue/js/func.js
+++ b/site/vue/js/func.js
@@ -170,10 +170,22 @@ function changeLineColorYellow(idLine) {
}
function checkAllSortieLogique() {
+ switchsInfoCopy.forEach(function (element) {
+ if (stage.findOne("#" + element.id).fill() === colorSwitchInnactiveBackground) {
+ if (stage.findOne("#" + element.id3[0]).stroke() !== colorLineInnactive) {
+ stage.findOne("#" + element.id).fill(colorSwitchActiveBackground);
+ }
+ } else {
+ if (stage.findOne("#" + element.id3[0]).stroke() !== colorLineActive) {
+ stage.findOne("#" + element.id).fill(colorSwitchInnactiveBackground);
+ }
+ }
+ });
logiques.forEach(function (element) {
if (element.id3.length != 0)
checkSortieLogique(element.name);
});
+
}
function getSwitchById(switchId) {
@@ -200,7 +212,6 @@ function checkEntreCroisement(logiqueId) {
createLink(stage.findOne("#" + switch1), logique);
createLink(stage.findOne("#" + switch2), logique);
} else if (getLogiqueFromLine(logique.id1) != null && getLogiqueFromLine(logique.id2) != null) {
- console.log("blem la ");
let logique1 = getLogiqueFromLine(logique.id1);
let logique2 = getLogiqueFromLine(logique.id2);
@@ -212,9 +223,6 @@ function checkEntreCroisement(logiqueId) {
createLink(logique1, logique);
createLink(logique2, logique);
}
- else {
- console.log("wait");
- }
croisement = true;
}
}
@@ -265,45 +273,69 @@ function checkSortieLogique(logiqueId) {
switch (logique.type) {
case "et":
if (line1State == true && line2State == true) {
- changeLineColorYellow(element.id3);
+ element.id3.forEach(function (line) {
+ changeLineColorYellow(line);
+ });
}
else {
- changeLineColorBlack(element.id3);
+ element.id3.forEach(function (line) {
+ changeLineColorBlack(line);
+ });
}
break;
case "inv":
if (line1State == false) {
- changeLineColorYellow(element.id3);
+ element.id3.forEach(function (line) {
+ changeLineColorYellow(line);
+ });
}
else {
- changeLineColorBlack(element.id3);
+ element.id3.forEach(function (line) {
+ changeLineColorBlack(line);
+ });
}
break;
case "ou":
if (line1State == true || line2State == true) {
- changeLineColorYellow(element.id3);
+ element.id3.forEach(function (line) {
+ changeLineColorYellow(line);
+ });
}
else {
- changeLineColorBlack(element.id3);
+ element.id3.forEach(function (line) {
+ changeLineColorBlack(line);
+ });
}
break;
case "nonou":
if (line1State == true || line2State == true) {
- changeLineColorBlack(element.id3);
+ element.id3.forEach(function (line) {
+ changeLineColorBlack(line);
+ });
}
else {
- changeLineColorYellow(element.id3);
+ element.id3.forEach(function (line) {
+ changeLineColorYellow(line);
+ });
}
break;
case "etnon":
if (line1State == false && line2State == false) {
- changeLineColorYellow(element.id3);
+ element.id3.forEach(function (line) {
+ changeLineColorYellow(line);
+ });
} else if (line1State == false && line2State == true) {
- changeLineColorYellow(element.id3);
+ element.id3.forEach(function (line) {
+ changeLineColorYellow(line);
+ });
} else if (line1State == true && line2State == false) {
- changeLineColorYellow(element.id3);
+ element.id3.forEach(function (line) {
+ changeLineColorYellow(line);
+ });
} else {
- changeLineColorBlack(element.id3);
+ element.id3.forEach(function (line) {
+ changeLineColorBlack(line);
+ });
}
break;
}
@@ -514,10 +546,13 @@ function changeAllLineColorInActive(color) {
function play() {
niveauActuel = 1;
- document.querySelector("#mainPage").style.display = 'none';
- document.querySelector("#playPage").style.display = 'flex';
timeTot = 0;
+ document.querySelector("#mainPage").style.display = 'none';
+ document.querySelector("#playPage").style.display = 'block';
launchGameOne();
+
+
+
}
function launchGameOne() {
diff --git a/site/vue/js/main.js b/site/vue/js/main.js
index 532ac0b..9be07f9 100644
--- a/site/vue/js/main.js
+++ b/site/vue/js/main.js
@@ -94,7 +94,7 @@ function createGameOne(niveau) {
var isOuAllowed = false;
double = false;
var firstTime = [];
- switch (niveauActuel) {
+ switch (9) {
case 1:
firstTime.push("et");
break;
@@ -138,11 +138,11 @@ function createGameOne(niveau) {
timeEnd = 20;
break;
case 9:
- numberColonne1 = 4;
- numberColonne2 = 1;
+ numberColonne1 = 2;
+ numberColonne2 = 3;
isNotAllowed = true;
double = true;
- timeEnd = 20;
+ timeEnd = 5000;
break;
case 10:
firstTime.push("ou");
@@ -168,6 +168,7 @@ function createGameOne(niveau) {
isOuNonAllowed = true;
timeEnd = 20;
numberColonne1 = 4;
+ numberColonne2 = 4;
break;
}
isTuto = false;
diff --git a/site/vue/todo.todo b/site/vue/todo.todo
index 5ed8fa3..05f9387 100644
--- a/site/vue/todo.todo
+++ b/site/vue/todo.todo
@@ -3,7 +3,7 @@ alt+d to set done
Responsive :
☐ enlever les borders au format mobile
- ☐ Sauvegarder l'état des intérupteur avant de resize le truc
+ ✔ Sauvegarder l'état des intérupteur avant de resize le truc @done(20-06-21 18:52)
✔ Faire en sorte que le canvas se réajuste @done(20-06-17 22:02)
`Piste`e canvas soit plus grand de base et le redimensionner par la suite (produit en croix pour simplement le repositionner => taille de base *4/5 puis on redivise)
Faire en sorte que l
@@ -28,11 +28,12 @@ Site :
Jeu :
✔ Refaire entièrement le "not" pour éviter la fuite de mémoire @done(20-06-18 12:44)
- ☐ Eviter les croisements de fils
+ ✔ Eviter les croisements de fils @done(20-06-21 18:52)
✔ Ajouter la possibilité qu'une sortie puisse acceuillir plusieurs lignes @done(20-06-18 15:37)
`Piste`
Remplacer l'id3 par une liste d'id3 qu'on parcourerait
- ☐ Faire en sorte que les portes d'une colonne autres que la 1ere n'ai que des lignes qui viennent de porte et non des switchs
+ ✔ Faire en sorte que les portes d'une colonne autres que la 1ere n'ai que des lignes qui viennent de porte et non des switchs @done(20-06-21 18:52)
+ ☐ Pouvoir diviser les id3
UI/UX :
☐ Trouver une police d'écriture bien pour le jeu