pisouvigne 5 years ago
parent fae1c55cd4
commit 091cfa7ea4

@ -269,7 +269,6 @@ function checkEntreCroisement(logiqueId) {
let logique = findLogique(logiqueId); let logique = findLogique(logiqueId);
if (logique.id1 != null && logique.id2 != null) { if (logique.id1 != null && logique.id2 != null) {
if (stage.findOne("#" + logique.id1).points()[1] > stage.findOne("#" + logique.id2).points()[1]) { if (stage.findOne("#" + logique.id1).points()[1] > stage.findOne("#" + logique.id2).points()[1]) {
if (getSwitchFromLine(logique.id1) != null && getSwitchFromLine(logique.id2) != null) { if (getSwitchFromLine(logique.id1) != null && getSwitchFromLine(logique.id2) != null) {
let switch1 = getSwitchFromLine(logique.id1).id; let switch1 = getSwitchFromLine(logique.id1).id;
let switch2 = getSwitchFromLine(logique.id2).id; let switch2 = getSwitchFromLine(logique.id2).id;
@ -444,6 +443,66 @@ function isLineCollapsing() {
return isCollapsing; return isCollapsing;
} }
function invertLine() {
logiques.forEach(function (logique) {
if (logique.type !== "inv") {
var distance1;
var distance2;
if (getLogiqueFromLine(logique.id1) === null)
distance1 = getSwitchFromLine(logique.id1).y;
else distance1 = getLogiqueFromLine(logique.id1).y;
if (getLogiqueFromLine(logique.id2) === null)
distance2 = getSwitchFromLine(logique.id2).y;
else distance2 = getLogiqueFromLine(logique.id2).y;
if (distance2 < distance1) {
console.log("croisement pour " + logique.name + " " + logique.type);
if (getLogiqueFromLine(logique.id1) === null && getLogiqueFromLine(logique.id2) === null) {
let switch1Id = getSwitchFromLine(logique.id1).id;
let switch2Id = getSwitchFromLine(logique.id2).id;
removeLine(logique.id1);
removeLine(logique.id2);
logique.id1 = null;
logique.id2 = null;
createLink(stage.findOne("#" + switch2Id), logique);
createLink(stage.findOne("#" + switch1Id), logique);
} else if (getLogiqueFromLine(logique.id1) === null && getLogiqueFromLine(logique.id2) !== null) {
let switch1Id = getSwitchFromLine(logique.id1).id;
let logique2 = getLogiqueFromLine(logique.id2);
removeLine(logique.id1);
removeLine(logique.id2);
logique.id1 = null;
logique.id2 = null;
createLink(stage.findOne("#" + switch1Id), logique);
createLink(logique2, logique);
} else if (getLogiqueFromLine(logique.id1) !== null && getLogiqueFromLine(logique.id2) === null) {
let switch2Id = getSwitchFromLine(logique.id2).id;
let logique1 = getLogiqueFromLine(logique.id1);
removeLine(logique.id1);
removeLine(logique.id2);
logique.id1 = null;
logique.id2 = null;
createLink(logique1, logique);
createLink(stage.findOne("#" + switch2Id), logique);
} else if (getLogiqueFromLine(logique.id1) !== null && getLogiqueFromLine(logique.id2) !== null) {
let logique1 = getLogiqueFromLine(logique.id1);
let logique2 = getLogiqueFromLine(logique.id2);
removeLine(logique.id1);
removeLine(logique.id2);
logique.id1 = null;
logique.id2 = null;
createLink(logique1, logique);
createLink(logique2, logique);
}
}
}
});
}
function getLogiqueByLine(idLine) { function getLogiqueByLine(idLine) {
var logique = null; var logique = null;
logiques.forEach(function (element) { logiques.forEach(function (element) {

@ -581,7 +581,7 @@ function generate2(col, matchs, fork) {
} }
} }
initEndGame(); initEndGame();
isLineCollapsing(); invertLine();
checkAllSortieLogique(); checkAllSortieLogique();
} }

Loading…
Cancel
Save