diff --git a/site/vue/index.html b/site/vue/index.html index dd2da0c..5a6fdad 100644 --- a/site/vue/index.html +++ b/site/vue/index.html @@ -56,8 +56,10 @@
- +

+

Colonnes :

+
Générer le niveau diff --git a/site/vue/js/func.js b/site/vue/js/func.js index 26e7c94..031e0b7 100644 --- a/site/vue/js/func.js +++ b/site/vue/js/func.js @@ -667,6 +667,7 @@ function modeTest() { document.querySelector("#generate_button_perso").childNodes[3].classList = "fa fa-arrow-right"; hideDiv(document.querySelector("#levelSelectionPage")); showDiv(document.querySelector("#TestNouveauGenerateur")); + calcul(); } diff --git a/site/vue/js/generateGame.js b/site/vue/js/generateGame.js index c0b4fa7..04cbff5 100644 --- a/site/vue/js/generateGame.js +++ b/site/vue/js/generateGame.js @@ -105,11 +105,49 @@ function stopspin(button) { function buttonSpin(button, type) { spin(button); if (type === 'gen') { - setTimeout(generate2, 1000); + setTimeout(calcul(true), 20); } else setTimeout(loadPerso, 1000); } +document.querySelector("#colonne_number_setup_global_gen").addEventListener('input', (event) => { + if (parseInt(document.querySelector("#colonne_number_setup_global_gen").value) <= 1) document.querySelector("#colonne_number_setup_global_gen").value = 2; + calcul(); +}); + +function calcul(launch) { + var number_const = parseInt(document.querySelector("#colonne_number_setup_global_gen").value); + var number = number_const; + var col = new Array(); + let i = 0; + let reste = 0; + while (number > 1) { + number = number / 2; + if (!Number.isInteger(number) && number > 1) reste = 1; + if (parseInt(number) + reste != 0) + col[i] = parseInt(number) + reste; + reste = 0; + i++; + } + //armonisation : + if (col.reduce((a, b) => a + b, 0) > number_const) { + let arm = col.reduce((a, b) => a + b, 0) - number_const; + for (let i = col.length - 1; i > col.length - 1 - arm; i--) { + col[i]--; + } + } else if (col.reduce((a, b) => a + b, 0) < number_const) { + let arm = number_const - col.reduce((a, b) => a + b, 0); + for (let i = col.length - 1; i > col.length - 1 - arm; i--) { + col[i]++; + } + } + document.querySelector("#colonnes_live").innerHTML = col + " | nombre de colonne : " + col.length + " | nombre total de portes : " + number_const; + + if (launch !== undefined && launch !== null && launch === true) { + generate2(col); + } +} + function tuto(niveau) { windowWidth = window.innerWidth; windowHeight = window.innerHeight; @@ -197,7 +235,7 @@ function createGameOne(niveau) { numberColonne2 = 1; timeEnd = 20; break; - //Fin premiere serie + //Fin premiere serie case 5: firstTime.push("inv"); isNotAllowed = true; @@ -316,22 +354,24 @@ function createGameOne(niveau) { } -function generate2() { +function generate2(col) { hideDiv(document.querySelector('#TestNouveauGenerateur')); showDiv(document.querySelector('#playPage')); resetAllTabs(false); var matchs = [ - [2, 3], + [2, 2] ]; var fork = [ - [1, 3] + [1, 2] ]; - var numberCol = 3; - var numberPerCol = [5, 3, 2]; + var numberCol = col.length; + var numberPerCol = col; + + colonneTot = col.length; + numberPerColonne = col; + console.log(numberPerColonne); - colonneTot = 3; - numberPerColonne = [5, 3, 2]; var compt = new Array(); var listeSame = []; let num = 1; @@ -484,7 +524,6 @@ function generate2() { logiqueFinal = logique; } }); - if (listeLogiqueObj[x].id === "logique3") console.log(logiques); createLink(findLogique(listeLogiqueObj[x].id), findLogique(logiqueFinal.id)); } }