master
pisouvigne 5 years ago
parent 14af595555
commit 2704da26c9

@ -559,6 +559,10 @@ input[type=color] {
margin: 0 20px 0 20px; margin: 0 20px 0 20px;
} }
#TestNouveauGenerateur {
display: none;
}
.veri_false { .veri_false {
color: var(--cool-color); color: var(--cool-color);
} }

@ -45,10 +45,30 @@
</div> </div>
</div> </div>
</div> </div>
<!--Test Generateur-->
<div id="TestNouveauGenerateur" class="background">
<div id="header_selection" align=center>
<i class="fa fa-arrow-left home" onclick="closePerso(this);" aria-hidden="true"></i>
<h1 class="dys" id="title_perso_setup">Generateur</h1>
<label></label>
</div>
<hr id="hr">
<div id="perso-setupContainer" class="dys">
<div>
<label>Nombres de portes logiques : </label>
<input type="number" id="colonne_number_setup_global" value="10" disabled>
</div><br>
<div class="border background dys listenerHover" id="generate_button_perso"
onclick="buttonSpin(this,'gen')">
<a>Générer le niveau</a>
<i class="fa fa-arrow-right" aria-hidden="true"></i>
</div>
</div>
</div>
<!--Mode Personnalisé--> <!--Mode Personnalisé-->
<div id="PersoSetupPage" class="background"> <div id="PersoSetupPage" class="background">
<div id="header_selection" align=center> <div id="header_selection" align=center>
<i class="fa fa-arrow-left home" onclick="closePerso();" aria-hidden="true"></i> <i class="fa fa-arrow-left home" onclick="closePerso(this);" aria-hidden="true"></i>
<h1 class="dys" id="title_perso_setup">Mode Perso</h1> <h1 class="dys" id="title_perso_setup">Mode Perso</h1>
<label></label> <label></label>
</div> </div>
@ -491,10 +511,7 @@
</div> </div>
</div> </div>
</div> </div>
</div> </div>
</body> </body>
<script src="https://code.jquery.com/jquery-3.5.0.js"></script> <script src="https://code.jquery.com/jquery-3.5.0.js"></script>
<script src="https://unpkg.com/konva@6.0.0/konva.min.js"></script> <script src="https://unpkg.com/konva@6.0.0/konva.min.js"></script>

@ -16,7 +16,7 @@ const imageLogiqueNonOu = "nor.png";
//line //line
var colorLineInnactive = "black"; var colorLineInnactive = "black";
var colorLineActive = "#4CFEFE";//FFF033 var colorLineActive = "#4CFEFE"; //FFF033
const lineStroke = 4; const lineStroke = 4;
const pourcentageBreak = 15; const pourcentageBreak = 15;
const tension = 0; const tension = 0;

@ -664,11 +664,10 @@ function modeTuto() {
} }
function modeTest() { function modeTest() {
document.querySelector("#generate_button_perso").childNodes[3].classList = "fa fa-arrow-right";
hideDiv(document.querySelector("#levelSelectionPage")); hideDiv(document.querySelector("#levelSelectionPage"));
showDiv(document.querySelector("#playPage")); showDiv(document.querySelector("#TestNouveauGenerateur"));
niveauActuel = 1;
timeTot = 0;
launchTest();
} }
function wait(mode, btn) { function wait(mode, btn) {
@ -785,9 +784,9 @@ function closeSelection() {
hideDiv(document.querySelector("#levelSelectionPage")); hideDiv(document.querySelector("#levelSelectionPage"));
} }
function closePerso() { function closePerso(div) {
showDiv(document.querySelector("#levelSelectionPage")); showDiv(document.querySelector("#levelSelectionPage"));
hideDiv(document.querySelector("#PersoSetupPage")); hideDiv(div.parentElement.parentElement);
} }
var rotated = false; var rotated = false;

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

@ -24,6 +24,7 @@ function initAllSwitch(mode) {
}); });
} }
function initLayer() { function initLayer() {
} }

Loading…
Cancel
Save