|
|
|
@ -102,9 +102,12 @@ function stopspin(button) {
|
|
|
|
|
button.childNodes[3].classList = "fa fa-arrow-right";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function buttonSpin(button) {
|
|
|
|
|
spin(document.querySelector("#generate_button_perso"));
|
|
|
|
|
setTimeout(loadPerso, 1000);
|
|
|
|
|
function buttonSpin(button, type) {
|
|
|
|
|
spin(button);
|
|
|
|
|
if (type === 'gen') {
|
|
|
|
|
setTimeout(generate2, 1000);
|
|
|
|
|
} else
|
|
|
|
|
setTimeout(loadPerso, 1000);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function tuto(niveau) {
|
|
|
|
@ -314,13 +317,14 @@ function createGameOne(niveau) {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
function generate2() {
|
|
|
|
|
hideDiv(document.querySelector('#TestNouveauGenerateur'));
|
|
|
|
|
showDiv(document.querySelector('#playPage'));
|
|
|
|
|
resetAllTabs(false);
|
|
|
|
|
var matchs = [
|
|
|
|
|
[3, 2],
|
|
|
|
|
[2, 2]
|
|
|
|
|
[2, 3],
|
|
|
|
|
];
|
|
|
|
|
var fork = [
|
|
|
|
|
[2, 1],
|
|
|
|
|
[1, 1]
|
|
|
|
|
[1, 3]
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
var numberCol = 3;
|
|
|
|
@ -414,20 +418,20 @@ function generate2() {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
var logiques;
|
|
|
|
|
var logiquesGen;
|
|
|
|
|
//creation de liens entre les portes logiques :
|
|
|
|
|
for (let col = 1; col < colonneTot; col++) {
|
|
|
|
|
//recuperer tout les logiques :
|
|
|
|
|
logiques = new Array();
|
|
|
|
|
logiquesGen = new Array();
|
|
|
|
|
listeLogiqueObj.forEach(function (logique) {
|
|
|
|
|
if (logique.col === col && logique.id3 === null) logiques.push(logique);
|
|
|
|
|
if (logique.col === col && logique.id3 === null) logiquesGen.push(logique);
|
|
|
|
|
});
|
|
|
|
|
//check si y a des fork
|
|
|
|
|
while (getNumberFork(fork, col) > 0) {
|
|
|
|
|
fork.forEach(function (element) {
|
|
|
|
|
if (element[0] === col) {
|
|
|
|
|
//selection de la sortie a forker :
|
|
|
|
|
let logiqueFork = logiques[getRandomArbitrary(0, logiques.length)];
|
|
|
|
|
let logiqueFork = logiquesGen[getRandomArbitrary(0, logiquesGen.length)];
|
|
|
|
|
//recupération des logiques d'entree :
|
|
|
|
|
let logiqueEntre = new Array();
|
|
|
|
|
let sameId = null;
|
|
|
|
@ -459,29 +463,32 @@ function generate2() {
|
|
|
|
|
for (x in listeLogiqueObj) {
|
|
|
|
|
if (listeLogiqueObj[x].id3 === null && listeLogiqueObj[x].col !== colonneTot) {
|
|
|
|
|
//liste des logiques possible :
|
|
|
|
|
let loqiques = new Array();
|
|
|
|
|
let logiquesGen = new Array();
|
|
|
|
|
listeLogiqueObj.forEach(function (logique) {
|
|
|
|
|
if (logique.col === listeLogiqueObj[x].col + 1) {
|
|
|
|
|
if (logique.type === 2 && checkLogiqueLines(logique.id, "id1") === null) logiques.push(logique);
|
|
|
|
|
else if (logique.type !== 2) {
|
|
|
|
|
if (checkLogiqueLines(logique.id, "id1") === null || checkLogiqueLines(logique.id, "id2") === null) logiques.push(logique);
|
|
|
|
|
if (logique.type === 2 && checkLogiqueLines(logique.id, "id1") === false) {
|
|
|
|
|
logiquesGen.push(logique);
|
|
|
|
|
} else if (logique.type !== 2) {
|
|
|
|
|
if (checkLogiqueLines(logique.id, "id1") === false || checkLogiqueLines(logique.id, "id2") === false) {
|
|
|
|
|
logiquesGen.push(logique);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//attribution du logique le plus proche :
|
|
|
|
|
let logiqueFinal = null;
|
|
|
|
|
logiques.forEach(function (logique) {
|
|
|
|
|
logiquesGen.forEach(function (logique) {
|
|
|
|
|
if (logiqueFinal === null) {
|
|
|
|
|
logiqueFinal = logique;
|
|
|
|
|
} else if (Math.abs(findLogique(listeLogiqueObj[x].id).y - findLogique(logique.id).y) < Math.abs(findLogique(listeLogiqueObj[x].id).y - findLogique(logiqueFinal.id).y)) {
|
|
|
|
|
logiqueFinal = logique;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
//console.log(listeLogiqueObj[x].id + " => " + logiqueFinal.id);
|
|
|
|
|
console.log(findLogique(listeLogiqueObj[x].id));
|
|
|
|
|
if (listeLogiqueObj[x].id === "logique3") console.log(logiques);
|
|
|
|
|
createLink(findLogique(listeLogiqueObj[x].id), findLogique(logiqueFinal.id));
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
initEndGame();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function getNumberFork(arr, col) {
|
|
|
|
|