lignes se dedouble

master
pisouvigne 5 years ago
parent a72b29a811
commit 7b4ffe893e

@ -298,6 +298,7 @@ hr {
} }
#playPage { #playPage {
z-index: 79;
display: none; display: none;
flex-direction: column; flex-direction: column;
height: 95%; height: 95%;
@ -431,3 +432,21 @@ input[type=color] {
#show_stage { #show_stage {
margin: 0 20px 0 20px; 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;
}

@ -10,6 +10,10 @@
</head> </head>
<body id="body" class="background"> <body id="body" class="background">
<!-- Loading Page -->
<div id="waitingPage" class="background">
<p>Loading Stage</p>
</div>
<!--Play Page--> <!--Play Page-->
<div id="playPage"> <div id="playPage">
<div id="success" class="modal"> <div id="success" class="modal">
@ -40,22 +44,22 @@
<th class="border">b</td> <th class="border">b</td>
<th class="border">S</th> <th class="border">S</th>
</tr> </tr>
<tr> <tr class="veri_false">
<td class="border">0</td> <td class="border">0</td>
<td class="border">0</td> <td class="border">0</td>
<td class="border">0</td> <td class="border">0</td>
</tr> </tr>
<tr> <tr class="veri_false">
<td class="border">0</td> <td class="border">0</td>
<td class="border">1</td> <td class="border">1</td>
<td class="border">0</td> <td class="border">0</td>
</tr> </tr>
<tr> <tr class="veri_false">
<td class="border">1</td> <td class="border">1</td>
<td class="border">0</td> <td class="border">0</td>
<td class="border">0</td> <td class="border">0</td>
</tr> </tr>
<tr> <tr class="veri_true">
<td class="border">1</td> <td class="border">1</td>
<td class="border">1</td> <td class="border">1</td>
<td class="border">1</td> <td class="border">1</td>
@ -82,22 +86,22 @@
<th class="border">b</td> <th class="border">b</td>
<th class="border">S</th> <th class="border">S</th>
</tr> </tr>
<tr> <tr class="veri_false">
<td class="border">0</td> <td class="border">0</td>
<td class="border">0</td> <td class="border">0</td>
<td class="border">0</td> <td class="border">0</td>
</tr> </tr>
<tr> <tr class="veri_true">
<td class="border">0</td> <td class="border">0</td>
<td class="border">1</td> <td class="border">1</td>
<td class="border">1</td> <td class="border">1</td>
</tr> </tr>
<tr> <tr class="veri_true">
<td class="border">1</td> <td class="border">1</td>
<td class="border">0</td> <td class="border">0</td>
<td class="border">1</td> <td class="border">1</td>
</tr> </tr>
<tr> <tr class="veri_true">
<td class="border">1</td> <td class="border">1</td>
<td class="border">1</td> <td class="border">1</td>
<td class="border">1</td> <td class="border">1</td>
@ -123,11 +127,11 @@
<th class="border">a</th> <th class="border">a</th>
<th class="border">S</th> <th class="border">S</th>
</tr> </tr>
<tr> <tr class="veri_true">
<td class="border">0</td> <td class="border">0</td>
<td class="border">1</td> <td class="border">1</td>
</tr> </tr>
<tr> <tr class="veri_false">
<td class="border">1</td> <td class="border">1</td>
<td class="border">0</td> <td class="border">0</td>
</tr> </tr>

@ -19,7 +19,7 @@ var colorLineInnactive = "black";
var colorLineActive = "#4CFEFE";//FFF033 var colorLineActive = "#4CFEFE";//FFF033
const lineStroke = 4; const lineStroke = 4;
const pourcentageBreak = 15; const pourcentageBreak = 15;
const tension = 0.3; const tension = 0;
//switch //switch
const SwitchHeight = 25; const SwitchHeight = 25;

@ -307,10 +307,30 @@ function createLinkAuto(logiqueId) {
} }
} }
}); });
//on tire au sort
let sortie = getRandomArbitrary(0, ligneSup.length); var distance = findLogique(logiqueId).y;
sortie = ligneSup[sortie]; var logiqueMatch = null;
createLink(findLogique(logiqueId), findLogique(sortie.name)); 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;
}
} }
} }

@ -170,10 +170,22 @@ function changeLineColorYellow(idLine) {
} }
function checkAllSortieLogique() { 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) { logiques.forEach(function (element) {
if (element.id3.length != 0) if (element.id3.length != 0)
checkSortieLogique(element.name); checkSortieLogique(element.name);
}); });
} }
function getSwitchById(switchId) { function getSwitchById(switchId) {
@ -200,7 +212,6 @@ function checkEntreCroisement(logiqueId) {
createLink(stage.findOne("#" + switch1), logique); createLink(stage.findOne("#" + switch1), logique);
createLink(stage.findOne("#" + switch2), logique); createLink(stage.findOne("#" + switch2), logique);
} else if (getLogiqueFromLine(logique.id1) != null && getLogiqueFromLine(logique.id2) != null) { } else if (getLogiqueFromLine(logique.id1) != null && getLogiqueFromLine(logique.id2) != null) {
console.log("blem la ");
let logique1 = getLogiqueFromLine(logique.id1); let logique1 = getLogiqueFromLine(logique.id1);
let logique2 = getLogiqueFromLine(logique.id2); let logique2 = getLogiqueFromLine(logique.id2);
@ -212,9 +223,6 @@ function checkEntreCroisement(logiqueId) {
createLink(logique1, logique); createLink(logique1, logique);
createLink(logique2, logique); createLink(logique2, logique);
} }
else {
console.log("wait");
}
croisement = true; croisement = true;
} }
} }
@ -265,45 +273,69 @@ function checkSortieLogique(logiqueId) {
switch (logique.type) { switch (logique.type) {
case "et": case "et":
if (line1State == true && line2State == true) { if (line1State == true && line2State == true) {
changeLineColorYellow(element.id3); element.id3.forEach(function (line) {
changeLineColorYellow(line);
});
} }
else { else {
changeLineColorBlack(element.id3); element.id3.forEach(function (line) {
changeLineColorBlack(line);
});
} }
break; break;
case "inv": case "inv":
if (line1State == false) { if (line1State == false) {
changeLineColorYellow(element.id3); element.id3.forEach(function (line) {
changeLineColorYellow(line);
});
} }
else { else {
changeLineColorBlack(element.id3); element.id3.forEach(function (line) {
changeLineColorBlack(line);
});
} }
break; break;
case "ou": case "ou":
if (line1State == true || line2State == true) { if (line1State == true || line2State == true) {
changeLineColorYellow(element.id3); element.id3.forEach(function (line) {
changeLineColorYellow(line);
});
} }
else { else {
changeLineColorBlack(element.id3); element.id3.forEach(function (line) {
changeLineColorBlack(line);
});
} }
break; break;
case "nonou": case "nonou":
if (line1State == true || line2State == true) { if (line1State == true || line2State == true) {
changeLineColorBlack(element.id3); element.id3.forEach(function (line) {
changeLineColorBlack(line);
});
} }
else { else {
changeLineColorYellow(element.id3); element.id3.forEach(function (line) {
changeLineColorYellow(line);
});
} }
break; break;
case "etnon": case "etnon":
if (line1State == false && line2State == false) { if (line1State == false && line2State == false) {
changeLineColorYellow(element.id3); element.id3.forEach(function (line) {
changeLineColorYellow(line);
});
} else if (line1State == false && line2State == true) { } else if (line1State == false && line2State == true) {
changeLineColorYellow(element.id3); element.id3.forEach(function (line) {
changeLineColorYellow(line);
});
} else if (line1State == true && line2State == false) { } else if (line1State == true && line2State == false) {
changeLineColorYellow(element.id3); element.id3.forEach(function (line) {
changeLineColorYellow(line);
});
} else { } else {
changeLineColorBlack(element.id3); element.id3.forEach(function (line) {
changeLineColorBlack(line);
});
} }
break; break;
} }
@ -514,10 +546,13 @@ function changeAllLineColorInActive(color) {
function play() { function play() {
niveauActuel = 1; niveauActuel = 1;
document.querySelector("#mainPage").style.display = 'none';
document.querySelector("#playPage").style.display = 'flex';
timeTot = 0; timeTot = 0;
document.querySelector("#mainPage").style.display = 'none';
document.querySelector("#playPage").style.display = 'block';
launchGameOne(); launchGameOne();
} }
function launchGameOne() { function launchGameOne() {

@ -94,7 +94,7 @@ function createGameOne(niveau) {
var isOuAllowed = false; var isOuAllowed = false;
double = false; double = false;
var firstTime = []; var firstTime = [];
switch (niveauActuel) { switch (9) {
case 1: case 1:
firstTime.push("et"); firstTime.push("et");
break; break;
@ -138,11 +138,11 @@ function createGameOne(niveau) {
timeEnd = 20; timeEnd = 20;
break; break;
case 9: case 9:
numberColonne1 = 4; numberColonne1 = 2;
numberColonne2 = 1; numberColonne2 = 3;
isNotAllowed = true; isNotAllowed = true;
double = true; double = true;
timeEnd = 20; timeEnd = 5000;
break; break;
case 10: case 10:
firstTime.push("ou"); firstTime.push("ou");
@ -168,6 +168,7 @@ function createGameOne(niveau) {
isOuNonAllowed = true; isOuNonAllowed = true;
timeEnd = 20; timeEnd = 20;
numberColonne1 = 4; numberColonne1 = 4;
numberColonne2 = 4;
break; break;
} }
isTuto = false; isTuto = false;

@ -3,7 +3,7 @@ alt+d to set done
Responsive : Responsive :
☐ enlever les borders au format mobile ☐ 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) ✔ 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) `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 Faire en sorte que l
@ -28,11 +28,12 @@ Site :
Jeu : Jeu :
✔ Refaire entièrement le "not" pour éviter la fuite de mémoire @done(20-06-18 12:44) ✔ 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) ✔ Ajouter la possibilité qu'une sortie puisse acceuillir plusieurs lignes @done(20-06-18 15:37)
`Piste` `Piste`
Remplacer l'id3 par une liste d'id3 qu'on parcourerait 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 : UI/UX :
☐ Trouver une police d'écriture bien pour le jeu ☐ Trouver une police d'écriture bien pour le jeu

Loading…
Cancel
Save