lignes se dedouble

master
pisouvigne 5 years ago
parent a72b29a811
commit 7b4ffe893e

@ -298,6 +298,7 @@ hr {
}
#playPage {
z-index: 79;
display: none;
flex-direction: column;
height: 95%;
@ -431,3 +432,21 @@ 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;
}

@ -10,6 +10,10 @@
</head>
<body id="body" class="background">
<!-- Loading Page -->
<div id="waitingPage" class="background">
<p>Loading Stage</p>
</div>
<!--Play Page-->
<div id="playPage">
<div id="success" class="modal">
@ -40,22 +44,22 @@
<th class="border">b</td>
<th class="border">S</th>
</tr>
<tr>
<tr class="veri_false">
<td class="border">0</td>
<td class="border">0</td>
<td class="border">0</td>
</tr>
<tr>
<tr class="veri_false">
<td class="border">0</td>
<td class="border">1</td>
<td class="border">0</td>
</tr>
<tr>
<tr class="veri_false">
<td class="border">1</td>
<td class="border">0</td>
<td class="border">0</td>
</tr>
<tr>
<tr class="veri_true">
<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">S</th>
</tr>
<tr>
<tr class="veri_false">
<td class="border">0</td>
<td class="border">0</td>
<td class="border">0</td>
</tr>
<tr>
<tr class="veri_true">
<td class="border">0</td>
<td class="border">1</td>
<td class="border">1</td>
</tr>
<tr>
<tr class="veri_true">
<td class="border">1</td>
<td class="border">0</td>
<td class="border">1</td>
</tr>
<tr>
<tr class="veri_true">
<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">S</th>
</tr>
<tr>
<tr class="veri_true">
<td class="border">0</td>
<td class="border">1</td>
</tr>
<tr>
<tr class="veri_false">
<td class="border">1</td>
<td class="border">0</td>
</tr>

@ -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;

@ -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;
}
}
}

@ -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() {

@ -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;

@ -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

Loading…
Cancel
Save