From 2704da26c95501957aa8a5a43c883247f6360fe1 Mon Sep 17 00:00:00 2001 From: pisouvigne Date: Mon, 6 Jul 2020 08:01:37 +0200 Subject: [PATCH] generateur --- site/vue/css/style.css | 4 ++++ site/vue/index.html | 25 +++++++++++++++++---- site/vue/js/const.js | 2 +- site/vue/js/func.js | 11 +++++----- site/vue/js/generateGame.js | 43 +++++++++++++++++++++---------------- site/vue/js/init.js | 1 + 6 files changed, 57 insertions(+), 29 deletions(-) diff --git a/site/vue/css/style.css b/site/vue/css/style.css index 7a1908b..7b3ce20 100644 --- a/site/vue/css/style.css +++ b/site/vue/css/style.css @@ -559,6 +559,10 @@ input[type=color] { margin: 0 20px 0 20px; } +#TestNouveauGenerateur { + display: none; +} + .veri_false { color: var(--cool-color); } diff --git a/site/vue/index.html b/site/vue/index.html index ba483a7..dd2da0c 100644 --- a/site/vue/index.html +++ b/site/vue/index.html @@ -45,10 +45,30 @@ + +
+
+ +

Generateur

+ +
+
+
+
+ + +

+ +
+
- +

Mode Perso

@@ -491,10 +511,7 @@
- - - diff --git a/site/vue/js/const.js b/site/vue/js/const.js index 93d4a56..b1fa4d2 100644 --- a/site/vue/js/const.js +++ b/site/vue/js/const.js @@ -16,7 +16,7 @@ const imageLogiqueNonOu = "nor.png"; //line var colorLineInnactive = "black"; -var colorLineActive = "#4CFEFE";//FFF033 +var colorLineActive = "#4CFEFE"; //FFF033 const lineStroke = 4; const pourcentageBreak = 15; const tension = 0; diff --git a/site/vue/js/func.js b/site/vue/js/func.js index 462bc34..26e7c94 100644 --- a/site/vue/js/func.js +++ b/site/vue/js/func.js @@ -664,11 +664,10 @@ function modeTuto() { } function modeTest() { + document.querySelector("#generate_button_perso").childNodes[3].classList = "fa fa-arrow-right"; hideDiv(document.querySelector("#levelSelectionPage")); - showDiv(document.querySelector("#playPage")); - niveauActuel = 1; - timeTot = 0; - launchTest(); + showDiv(document.querySelector("#TestNouveauGenerateur")); + } function wait(mode, btn) { @@ -785,9 +784,9 @@ function closeSelection() { hideDiv(document.querySelector("#levelSelectionPage")); } -function closePerso() { +function closePerso(div) { showDiv(document.querySelector("#levelSelectionPage")); - hideDiv(document.querySelector("#PersoSetupPage")); + hideDiv(div.parentElement.parentElement); } var rotated = false; diff --git a/site/vue/js/generateGame.js b/site/vue/js/generateGame.js index 8f3feaa..c0b4fa7 100644 --- a/site/vue/js/generateGame.js +++ b/site/vue/js/generateGame.js @@ -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) { diff --git a/site/vue/js/init.js b/site/vue/js/init.js index 9d91903..5966dcc 100644 --- a/site/vue/js/init.js +++ b/site/vue/js/init.js @@ -24,6 +24,7 @@ function initAllSwitch(mode) { }); } + function initLayer() { }