master
pisouvigne 5 years ago
parent 14af595555
commit 2704da26c9

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

@ -45,10 +45,30 @@
</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é-->
<div id="PersoSetupPage" class="background">
<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>
<label></label>
</div>
@ -491,10 +511,7 @@
</div>
</div>
</div>
</div>
</body>
<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>

@ -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;

@ -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;

@ -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) {

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

Loading…
Cancel
Save