@@ -622,89 +703,10 @@
×
-
Tableau des scores
+
-
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin et malesuada
- lectus.
- Morbi
- imperdiet fringilla maximus. Integer ac aliquet ex. Quisque vestibulum elit ac velit
- feugiat
- facilisis. Nam in pharetra nisl, sed dignissim nibh. Donec ultricies sem quis turpis
- eleifend
- porta.
- Sed in risus hendrerit, tincidunt ante id, cursus tellus. Mauris et nisl neque. Fusce id
- dictum
- sapien.
-
- Vivamus ornare porta egestas. Cras id sem et turpis imperdiet mollis nec in turpis. Cras
- semper
- urna
- sit amet neque pharetra vulputate. Vestibulum ante ipsum primis in faucibus orci luctus
- et
- ultrices
- posuere cubilia curae; In congue lorem at tellus ornare malesuada. Sed vel volutpat
- tortor.
- Aenean
- imperdiet hendrerit arcu, vel faucibus mauris porttitor quis.
-
- Suspendisse potenti. Suspendisse tincidunt arcu nec nisi vulputate, a tempus est
- sagittis. Donec
- laoreet pulvinar sem, eu condimentum turpis feugiat quis. Morbi varius erat a iaculis
- lacinia.
- Sed
- sed nibh iaculis, pulvinar risus sed, fermentum justo. Aenean id libero maximus risus
- ornare
- elementum. Aenean nec ex porta, efficitur quam sed, dignissim arcu. Vivamus pharetra
- sapien a
- augue
- aliquam consectetur. Morbi dictum lobortis elit, a faucibus ligula ultricies ac. Nullam
- suscipit
- at
- risus ut fringilla. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis luctus
- ex nec
- finibus semper. Pellentesque quam magna, gravida sed semper bibendum, gravida nec augue.
- Interdum et
- malesuada fames ac ante ipsum primis in faucibus. Nulla imperdiet ex ut sapien facilisis
- auctor.
-
- Vivamus vestibulum fermentum odio vel viverra. Donec nec nisi ex. Curabitur tempor
- venenatis
- porttitor. Ut eget vehicula turpis. Curabitur vel pellentesque dui, a rhoncus purus.
- Maecenas et
- leo
- ultricies, sodales sapien ac, venenatis risus. Vestibulum elementum, felis ac malesuada
- tincidunt,
- sem arcu suscipit mi, quis malesuada mauris nibh in diam. Mauris erat diam, bibendum sed
- viverra
- vel, eleifend sed lorem. Morbi cursus tincidunt eros eu tincidunt. Aliquam eget viverra
- leo.
- Aenean
- quis odio in elit dictum faucibus. Vivamus tristique, lectus at pretium lobortis, neque
- odio
- efficitur leo, aliquam rutrum nunc massa in diam. Sed mattis, tellus convallis ultricies
- lobortis,
- odio justo maximus nisi, at efficitur dui nulla at eros. Mauris eleifend felis non est
- molestie
- sollicitudin.
-
- Vivamus neque felis, interdum eu egestas eget, imperdiet vel orci. Etiam finibus
- venenatis
- tortor,
- vitae feugiat dolor malesuada eget. Nulla erat sem, venenatis ac tincidunt eget,
- condimentum et
- est.
- Nam a pharetra ligula. Nullam quis convallis turpis. Duis quis nibh ut mi commodo
- euismod. Ut
- iaculis vestibulum elit vitae scelerisque. Sed sollicitudin, leo id cursus placerat,
- erat ipsum
- varius dolor, non egestas erat nibh sed nisl. Vestibulum sit amet purus sed nulla mattis
- malesuada
- eget vitae ligula. Vivamus iaculis, felis vel dapibus lacinia, nisl felis tincidunt sem,
- vel
- finibus
- mauris elit maximus lorem. Donec non viverra leo. Vestibulum iaculis ipsum et mi aliquam
- aliquam.
- Vivamus maximus justo eu fermentum hendrerit.
+
Site développé par Pierre SOUVIGNET lors d'un projet de 2ème année de DUT
+ Informatique à Clermont-Ferrand. Supervisé par Mme Malika More et Mr Pascal Lafourcade
@@ -721,7 +723,6 @@
-
diff --git a/site/v1/js/const.js b/site/v1/js/const.js
index 5248b52..9c755c0 100644
--- a/site/v1/js/const.js
+++ b/site/v1/js/const.js
@@ -35,6 +35,7 @@ var colorSwitchActiveBackground = "#2ec22e";
//timer
var timeEnd = 10;
var timeTot = 0;
+var time;
//switch
var numberOfSwitch = 0;
@@ -68,4 +69,4 @@ var arrayPorte = [];
var pseudo = null;
const NOMBRETEST = 500;
var isFinish = false;
-var tempCol = [], tempMode = null, tempLinks = [], tempPortes = [], changePorte = [], tempCircles = [];
+var tempCol = [], tempMode = null, tempLinks = [], tempPortes = [], changePorte = [], tempCircles = [];
\ No newline at end of file
diff --git a/site/v1/js/creator.js b/site/v1/js/creator.js
deleted file mode 100644
index ef34f10..0000000
--- a/site/v1/js/creator.js
+++ /dev/null
@@ -1,173 +0,0 @@
-function createGame1() {
-
- timeEnd = 20;
-
- initTimer();
-
- createSwitch("s1", 20, 20);
- createSwitch("s2", 20, 90);
- createSwitch("s3", 20, 300);
- createSwitch("s4", 20, 500);
- createSwitch("s5", 20, 700);
- createSwitch("s6", 20, 600);
- createSwitch("s7", 350, 600);
-
- createLogique(200, 100, "logique1", "et");
- createLogique(300, 200, "logique2", "nonou");
- createLogique(500, 300, "logique3", "et");
- createLogique(500, 400, "logique4", "etnon");
- createLogique(500, 500, "logique5", "inv");
-
- createLink(stage.findOne("#s7"), findLogique("logique5"));
- createLink(stage.findOne("#s5"), findLogique("logique4"));
- createLink(stage.findOne("#s6"), findLogique("logique4"));
- createLink(stage.findOne("#s3"), findLogique("logique2"));
- createLink(stage.findOne("#s2"), findLogique("logique1"));
- createLink(stage.findOne("#s1"), findLogique("logique1"));
- createLink(findLogique("logique1"), findLogique("logique2"));
- createLink(stage.findOne("#s4"), findLogique("logique3"));
- createLink(findLogique("logique2"), findLogique("logique3"));
- initAllSwitch();
- createEnd(800, 320);
- initEnd();
-}
-function createGame2() {
-
- timeEnd = 40;
-
- colonneTot = 3;
- numberPerColonne = [1, 1, 3];
-
- initTimer();
-
- switchCreator(7);
-
- insertLogiqueColonne("logique1", "et", 0);
- insertLogiqueColonne("logique2", "nonou", 1);
- insertLogiqueColonne("logique3", "et", 2);
- insertLogiqueColonne("logique4", "etnon", 2);
- insertLogiqueColonne("logique5", "inv", 2);
-
- createLink(findLogique("logique1"), findLogique("logique2"));
- createLink(findLogique("logique2"), findLogique("logique3"));
-
- createAllLinkSwitch();
-
- initAllSwitch();
- createEnd();
- initEnd();
-}
-
-
-
-function creatorRandomPyramid() {
- timeEnd = getRandomArbitrary(15, 50);
-
- initTimer();
-
- var premiereColonne = 2;
-
- let still = premiereColonne;
- let nmbColonne = 1;
-
- while (still != 1) {
- still = still / 2;
- nmbColonne++;
- }
-
- var logiqueCount = 0;
-
- colonneTot = nmbColonne;
-
- for (let i = 0; i < colonneTot; i++) {
- liveColonneNumber.push([]);
- }
- premiereColonne = premiereColonne * 2;
- for (let i = 0; i < colonneTot; i++) {
- numberPerColonne[i] = premiereColonne - premiereColonne / 2;
- premiereColonne = premiereColonne / 2;
- for (let j = 0; j < numberPerColonne[i]; j++) {
- logiqueCount++;
- let type = null;
- switch (getRandomArbitrary(0, 4)) {
- case 0:
- type = "et";
- break;
- case 1:
- type = "ou";
- break;
- case 2:
- type = "etnon";
- break;
- case 3:
- type = "nonou";
- break;
- }
- insertLogiqueColonne("logique" + logiqueCount, type, i);
- }
- }
-
- logiques.forEach(function (element) {
- createLinkAuto(element.name);
- });
-
- calculNombreSwitch();
- switchCreator(numberOfSwitch);
-
- createAllLinkSwitch();
-
- initAllSwitch();
- createEnd();
- initEnd();
-}
-
-function generatorGame() {
- timeEnd = getRandomArbitrary(15, 50);
-
- initTimer();
-
- var logiqueCount = 0;
-
- colonneTot = getRandomArbitrary(2, 3);
-
- for (let i = 0; i < colonneTot; i++) {
- liveColonneNumber.push([]);
- }
-
- for (let i = 0; i < colonneTot; i++) {
- numberPerColonne[i] = getRandomArbitrary(2, 4);
- for (let j = 0; j < numberPerColonne[i]; j++) {
- logiqueCount++;
- let type = null;
- switch (getRandomArbitrary(0, 4)) {
- case 0:
- type = "et";
- break;
- case 1:
- type = "ou";
- break;
- case 2:
- type = "etnon";
- break;
- case 3:
- type = "nonou";
- break;
- }
- insertLogiqueColonne("logique" + logiqueCount, type, i);
- }
- }
-
- logiques.forEach(function (element) {
- createLinkAuto(element.name);
- });
-
- calculNombreSwitch();
- switchCreator(numberOfSwitch);
-
- createAllLinkSwitch();
-
- initAllSwitch();
- createEnd();
- initEnd();
-
-}
\ No newline at end of file
diff --git a/site/v1/js/func.js b/site/v1/js/func.js
index dbdb6b7..d80c53a 100644
--- a/site/v1/js/func.js
+++ b/site/v1/js/func.js
@@ -8,7 +8,6 @@ function tryChangePseudo() {
}
function setPseudoOk(newPseudo, change) {
- document.querySelector("#saveIco").className = "fa fa-save";
document.querySelector("#saveIco").style.color = "green";
if (change) {
changePseudo(newPseudo, pseudo);
@@ -18,12 +17,10 @@ function setPseudoOk(newPseudo, change) {
}
}
function setPseudoNotOk() {
- document.querySelector("#saveIco").className = "fa fa-save";
document.querySelector("#saveIco").style.color = "#fe8a71";
}
document.querySelector("#pseudoInput").addEventListener('input', (event) => {
- document.querySelector("#saveIco").className = "fa fa-database dys";
isPseudoOk(document.querySelector("#pseudoInput").value, false);
});
@@ -666,6 +663,7 @@ function checkEnd(mode) {
function success(mode) {
document.querySelector("#play_menu_game").style.display = "none";
modeG = mode;
+ time = timer.getTimeValues().seconds;
timeTot = timeTot + timer.getTimeValues().seconds;
timer.stop();
stage.findOne("#end").fill(colorSwitchActiveBackground);
@@ -681,10 +679,8 @@ function success(mode) {
}
if (successPanel) {
if (isFinish) {
- showDiv(document.querySelector("#mainPage"));
- hideDiv(document.querySelector("#playPage"));
-
- openModal("gameOver");
+ document.querySelector("#lose_pannel").style.display = "block";
+ document.querySelector("#play_menu_game").style.display = "none";
switch (mode) {
case "vanillaFacile":
document.querySelector("#gameOverTitle").innerHTML = 'Vanilla Facile';
@@ -698,16 +694,17 @@ function success(mode) {
if (niveauActuel === 1)
scoreTot = 0;
else
- scoreTot = ((1 / timeTot) * (1 / clickTot) * 1000).toFixed(2);
+ scoreTot = ((1 / timeTot) * (1 / clickTot) * 100000).toFixed(2);
document.querySelector("#scoreTotGameOver").innerHTML = "Score : " + scoreTot;
document.querySelector("#niveauGameOver").innerHTML = niveauActuel;
- document.querySelector("#TempsTotGameOver").innerHTML = "Temps : " + timeTot;
+ document.querySelector("#TempsTotGameOver").innerHTML = "Temps : " + timeTot + " s";
sendScore(scoreTot, mode, clickTot, niveauActuel, 25, timeTot);
clickTot = 0;
} else {
document.querySelector("#win_pannel").style.display = "block";
//openModal("success");
document.querySelector("#click_number").innerHTML = click;
+ document.querySelector("#time_number").innerHTML = time;
document.querySelector("#next_level_button").onclick = function () {
//closeModal('success');
nextLevel(mode);
@@ -750,6 +747,49 @@ function nextLevel(mode) {
launchMoyenGameOne(mode);
} else if (mode === "vanillaImpossible" || mode === "normalImpossible") {
launchImpossibleGameOne(mode);
+ } else if (mode === "vanillaFacile1" || mode === "normalFacile1") {
+ launchFacileChapitre1(mode);
+ }
+ else if (mode === "vanillaFacile2" || mode === "normalFacile2") {
+ launchFacileChapitre2(mode);
+ }
+ else if (mode === "vanillaFacile3" || mode === "normalFacile3") {
+ launchFacileChapitre3(mode);
+ }
+ else if (mode === "vanillaFacile4" || mode === "normalFacile4") {
+ launchFacileChapitre4(mode);
+ } else if (mode === "vanillaFacile5" || mode === "normalFacile5") {
+ launchFacileChapitre5(mode);
+ }
+ //Moyen
+ else if (mode === "vanillaMoyen1" || mode === "normalMoyen1") {
+ launchMoyenChapitre1(mode);
+ }
+ else if (mode === "vanillaMoyen2" || mode === "normalMoyen2") {
+ launchMoyenChapitre2(mode);
+ }
+ else if (mode === "vanillaMoyen3" || mode === "normalMoyen3") {
+ launchMoyenChapitre3(mode);
+ }
+ else if (mode === "vanillaMoyen4" || mode === "normalMoyen4") {
+ launchMoyenChapitre4(mode);
+ } else if (mode === "vanillaMoyen5" || mode === "normalMoyen5") {
+ launchMoyenChapitre5(mode);
+ }
+ //Impossible :
+ else if (mode === "vanillaImpossible1" || mode === "normalImpossible1") {
+ launchImpossibleChapitre1(mode);
+ }
+ else if (mode === "vanillaImpossible2" || mode === "normalImpossible2") {
+ launchImpossibleChapitre2(mode);
+ }
+ else if (mode === "vanillaImpossible3" || mode === "normalImpossible3") {
+ launchImpossibleChapitre3(mode);
+ }
+ else if (mode === "vanillaImpossible4" || mode === "normalImpossible4") {
+ launchImpossibleChapitre4(mode);
+ } else if (mode === "vanillaImpossible5" || mode === "normalImpossible5") {
+ launchImpossibleChapitre5(mode);
}
}
@@ -917,7 +957,6 @@ function goToSelection(btn) {
}
function vanillaSelection() {
- document.querySelector("#title_selection_2").innerHTML = "Vanilla";
document.querySelector("#selectionNormalContainer").style.display = "none";
document.querySelector("#selectionVanillaContainer").style.display = "flex";
hideDiv(document.querySelector("#levelSelectionPage"));
@@ -926,18 +965,36 @@ function vanillaSelection() {
if (element.children[0].innerHTML !== "")
element.children[1].className = "fa fa-play";
});
+ document.querySelector(".sel1").onclick = function () {
+ wait('vanillaFacile', document.querySelector(".sel1"))
+ }
+ document.querySelector(".sel2").onclick = function () {
+ wait('vanillaMoyen', document.querySelector(".sel2"))
+ }
+ document.querySelector(".sel3").onclick = function () {
+ wait('vanillaImpossible', document.querySelector(".sel3"))
+ }
+
}
function normalSelection() {
- document.querySelector("#title_selection_2").innerHTML = "Normal";
- document.querySelector("#selectionVanillaContainer").style.display = "none";
- document.querySelector("#selectionNormalContainer").style.display = "flex";
+ document.querySelector("#selectionNormalContainer").style.display = "none";
+ document.querySelector("#selectionVanillaContainer").style.display = "flex";
hideDiv(document.querySelector("#levelSelectionPage"));
showDiv(document.querySelector("#VanillalevelSelectionPage"));
document.querySelectorAll(".vanillaElement").forEach(function (element) {
if (element.children[0].innerHTML !== "")
element.children[1].className = "fa fa-play";
});
+ document.querySelector(".sel1").onclick = function () {
+ wait('normalFacile', document.querySelector(".sel1"))
+ }
+ document.querySelector(".sel2").onclick = function () {
+ wait('normalMoyen', document.querySelector(".sel2"))
+ }
+ document.querySelector(".sel3").onclick = function () {
+ wait('normalImpossible', document.querySelector(".sel3"))
+ }
}
function playVanilla() {
@@ -949,48 +1006,85 @@ function playVanilla() {
}
function playFacileVanilla() {
hideDiv(document.querySelector("#VanillalevelSelectionPage"));
+ showDiv(document.querySelector("#LastSelectionPage"));
+ for (let i = 1; i < 6; i++) {
+
+ document.querySelector(".chap" + i).onclick = function () {
+ wait('vanillaFacile' + i, document.querySelector(".chap" + i))
+ }
+ document.querySelector(".chap" + i + "Score").onclick = function () {
+ leaderboard('vanillaFacile' + i, document.querySelector(".chap" + i + "Score"))
+ }
+ }
+ /*hideDiv(document.querySelector("#VanillalevelSelectionPage"));
showDiv(document.querySelector("#playPage"));
niveauActuel = 1;
timeTot = 0;
- launchFacileGameOne("vanillaFacile");
+ launchFacileGameOne("vanillaFacile");*/
}
function playImpossibleVanilla() {
hideDiv(document.querySelector("#VanillalevelSelectionPage"));
- showDiv(document.querySelector("#playPage"));
- niveauActuel = 1;
- timeTot = 0;
- launchImpossibleGameOne("vanillaImpossible");
+ showDiv(document.querySelector("#LastSelectionPage"));
+ for (let i = 1; i < 6; i++) {
+ document.querySelector(".chap" + i).onclick = function () {
+ wait('vanillaImpossible' + i, document.querySelector(".chap" + i))
+ }
+ document.querySelector(".chap" + i + "Score").onclick = function () {
+ leaderboard('vanillaImpossible' + i, document.querySelector(".chap" + i + "Score"))
+ }
+ }
}
-
+//Vanilla
function playMoyenVanilla() {
hideDiv(document.querySelector("#VanillalevelSelectionPage"));
- showDiv(document.querySelector("#playPage"));
- niveauActuel = 1;
- timeTot = 0;
- launchMoyenGameOne("vanillaMoyen");
+ showDiv(document.querySelector("#LastSelectionPage"));
+ for (let i = 1; i < 6; i++) {
+ document.querySelector(".chap" + i).onclick = function () {
+ wait('vanillaMoyen' + i, document.querySelector(".chap" + i))
+ }
+ document.querySelector(".chap" + i + "Score").onclick = function () {
+ leaderboard('vanillaMoyen' + i, document.querySelector(".chap" + i + "Score"))
+ }
+ }
}
//normal
function playFacileNormal() {
hideDiv(document.querySelector("#VanillalevelSelectionPage"));
- showDiv(document.querySelector("#playPage"));
- niveauActuel = 1;
- timeTot = 0;
- launchFacileGameOne("normalFacile");
+ showDiv(document.querySelector("#LastSelectionPage"));
+ for (let i = 1; i < 6; i++) {
+
+ document.querySelector(".chap" + i).onclick = function () {
+ wait('normalFacile' + i, document.querySelector(".chap" + i))
+ }
+ document.querySelector(".chap" + i + "Score").onclick = function () {
+ leaderboard('normalFacile' + i, document.querySelector(".chap" + i + "Score"))
+ }
+ }
}
function playImpossibleNormal() {
hideDiv(document.querySelector("#VanillalevelSelectionPage"));
- showDiv(document.querySelector("#playPage"));
- niveauActuel = 1;
- timeTot = 0;
- launchImpossibleGameOne("normalImpossible");
+ showDiv(document.querySelector("#LastSelectionPage"));
+ for (let i = 1; i < 6; i++) {
+ document.querySelector(".chap" + i).onclick = function () {
+ wait('normalImpossible' + i, document.querySelector(".chap" + i))
+ }
+ document.querySelector(".chap" + i + "Score").onclick = function () {
+ leaderboard('normalImpossible' + i, document.querySelector(".chap" + i + "Score"))
+ }
+ }
}
function playMoyenNormal() {
hideDiv(document.querySelector("#VanillalevelSelectionPage"));
- showDiv(document.querySelector("#playPage"));
- niveauActuel = 1;
- timeTot = 0;
- launchMoyenGameOne("normalMoyen");
+ showDiv(document.querySelector("#LastSelectionPage"));
+ for (let i = 1; i < 6; i++) {
+ document.querySelector(".chap" + i).onclick = function () {
+ wait('normalMoyen' + i, document.querySelector(".chap" + i))
+ }
+ document.querySelector(".chap" + i + "Score").onclick = function () {
+ leaderboard('normalMoyen' + i, document.querySelector(".chap" + i + "Score"))
+ }
+ }
}
function modeTuto() {
@@ -1023,12 +1117,253 @@ function WarningMessage(message) {
document.querySelector(".fa-info-circle").style.display = "block";
}
}
+//Facile
+function playFacile1() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchFacileChapitre1(modeG);
+}
+function playFacile2() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchFacileChapitre2(modeG);
+}
+function playFacile3() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchFacileChapitre3(modeG);
+}
+function playFacile4() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchFacileChapitre4(modeG);
+}
+function playFacile5() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchFacileChapitre5(modeG);
+}
+//Moyen
+function playMoyen1() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchMoyenChapitre1(modeG);
+}
+function playMoyen2() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchMoyenChapitre2(modeG);
+}
+function playMoyen3() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchMoyenChapitre3(modeG);
+}
+function playMoyen4() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchMoyenChapitre4(modeG);
+}
+function playMoyen5() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchMoyenChapitre5(modeG);
+}
+
+//Impossible
+function playImpossible1() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchImpossibleChapitre1(modeG);
+}
+function playImpossible2() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchImpossibleChapitre2(modeG);
+}
+function playImpossible3() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchImpossibleChapitre3(modeG);
+}
+function playImpossible4() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchImpossibleChapitre4(modeG);
+}
+function playImpossible5() {
+ hideDiv(document.querySelector("#LastSelectionPage"));
+ showDiv(document.querySelector("#playPage"));
+ niveauActuel = 1;
+ timeTot = 0;
+ launchImpossibleChapitre5(modeG);
+}
function wait(mode, btn) {
+ document.querySelector("#lose_pannel").style.display = "none";
+ isFinish = false;
var time = 300;
spin(btn);
+ modeG = mode;
switch (mode) {
+ //Normal
+ case "normalFacile1":
+ setTimeout(playFacile1, time);
+ setMode("Normal Facile - Chapitre 1");
+ break;
+ case "normalFacile2":
+ setTimeout(playFacile2, time);
+ setMode("Normal Facile - Chapitre 2");
+ break;
+ case "normalFacile3":
+ setTimeout(playFacile3, time);
+ setMode("Normal Facile - Chapitre 3");
+ break;
+ case "normalFacile4":
+ setTimeout(playFacile4, time);
+ setMode("Normal Facile - Chapitre 4");
+ break;
+ case "normalFacile5":
+ setTimeout(playFacile5, time);
+ setMode("Normal Facile - Chapitre 5");
+ break;
+ //normal Moyen
+ case "normalMoyen1":
+ setTimeout(playMoyen1, time);
+ setMode("Normal Moyen - Chapitre 1");
+ break;
+ case "normalMoyen2":
+ setTimeout(playMoyen2, time);
+ setMode("Normal Moyen - Chapitre 2");
+ break;
+ case "normalMoyen3":
+ setTimeout(playMoyen3, time);
+ setMode("Normal Moyen - Chapitre 3");
+ break;
+ case "vanillaMoyen4":
+ setTimeout(playMoyen4, time);
+ setMode("Vanilla Moyen - Chapitre 4");
+ break;
+ case "normalMoyen5":
+ setTimeout(playMoyen5, time);
+ setMode("Normal Moyen - Chapitre 5");
+ break;
+ //Impossible
+ case "normalImpossible1":
+ setTimeout(playImpossible1, time);
+ setMode("Normal Impossible - Chapitre 1");
+ break;
+ case "normalImpossible2":
+ setTimeout(playImpossible2, time);
+ setMode("Normal Impossible - Chapitre 2");
+ break;
+ case "normalImpossible3":
+ setTimeout(playImpossible3, time);
+ setMode("Normal Impossible - Chapitre 3");
+ break;
+ case "normalImpossible4":
+ setTimeout(playImpossible4, time);
+ setMode("Normal Impossible - Chapitre 4");
+ break;
+ case "normalImpossible5":
+ setTimeout(playImpossible5, time);
+ setMode("Normal Impossible - Chapitre 5");
+ break;
+
+ //Vanilla
+ //Vanilla Facile
+ case "vanillaFacile1":
+ setTimeout(playFacile1, time);
+ setMode("Vanilla Facile - Chapitre 1");
+ break;
+ case "vanillaFacile2":
+ setTimeout(playFacile2, time);
+ setMode("Vanilla Facile - Chapitre 2");
+ break;
+ case "vanillaFacile3":
+ setTimeout(playFacile3, time);
+ setMode("Vanilla Facile - Chapitre 3");
+ break;
+ case "vanillaFacile4":
+ setTimeout(playFacile4, time);
+ setMode("Vanilla Facile - Chapitre 4");
+ break;
+ case "vanillaFacile5":
+ setTimeout(playFacile5, time);
+ setMode("Vanilla Facile - Chapitre 5");
+ break;
+ //Vanilla Moyen
+ case "vanillaMoyen1":
+ setTimeout(playMoyen1, time);
+ setMode("Vanilla Moyen - Chapitre 1");
+ break;
+ case "vanillaMoyen2":
+ setTimeout(playMoyen2, time);
+ setMode("Vanilla Moyen - Chapitre 2");
+ break;
+ case "vanillaMoyen3":
+ setTimeout(playMoyen3, time);
+ setMode("Vanilla Moyen - Chapitre 3");
+ break;
+ case "vanillaMoyen4":
+ setTimeout(playMoyen4, time);
+ setMode("Vanilla Moyen - Chapitre 4");
+ break;
+ case "vanillaMoyen5":
+ setTimeout(playMoyen5, time);
+ setMode("Vanilla Moyen - Chapitre 5");
+ break;
+ //Impossible
+ case "vanillaImpossible1":
+ setTimeout(playImpossible1, time);
+ setMode("Vanilla Impossible - Chapitre 1");
+ break;
+ case "vanillaImpossible2":
+ setTimeout(playImpossible2, time);
+ setMode("Vanilla Impossible - Chapitre 2");
+ break;
+ case "vanillaImpossible3":
+ setTimeout(playImpossible3, time);
+ setMode("Vanilla Impossible - Chapitre 3");
+ break;
+ case "vanillaImpossible4":
+ setTimeout(playImpossible4, time);
+ setMode("Vanilla Impossible - Chapitre 4");
+ break;
+ case "vanillaImpossible5":
+ setTimeout(playImpossible5, time);
+ setMode("Vanilla Impossible - Chapitre 5");
+ break;
+ //Autre
case "vanillaInfini":
setTimeout(playVanilla, time);
setMode("Vanilla Infini");
@@ -1036,36 +1371,44 @@ function wait(mode, btn) {
case "vanillaFacile":
setTimeout(playFacileVanilla, time);
setMode("Vanilla Facile");
+ setTitle("Vanilla Facile");
break;
case "vanillaImpossible":
setTimeout(playImpossibleVanilla, time);
+ setTitle("Vanilla Impossible");
setMode("Vanilla Impossible");
break;
case "vanillaMoyen":
setTimeout(playMoyenVanilla, time);
+ setTitle("Vanilla Moyen");
setMode("Vanilla Moyen");
break;
case "normalFacile":
setTimeout(playFacileNormal, time);
+ setTitle("Normal Facile");
setMode("Normal Facile");
break;
case "normalImpossible":
setTimeout(playImpossibleNormal, time);
+ setTitle("Normal Impossible");
setMode("Vanilla Impossible");
break;
case "normalMoyen":
setTimeout(playMoyenNormal, time);
setMode("Normal Moyen");
+ setTitle("Normal Moyen");
break;
case "normalInfini":
setTimeout(playNormal, time);
setMode("Normal Infini");
break;
case "normal":
+ document.querySelector("#title_selection_2").innerHTML = "Normal";
setTimeout(normalSelection, time);
setMode("Normal");
break;
case "vanilla":
+ document.querySelector("#title_selection_2").innerHTML = "Vanilla";
setTimeout(vanillaSelection, time);
setMode("Vanilla")
break;
@@ -1541,6 +1884,11 @@ function setMode(mode) {
document.querySelector("#modeDeJeu").innerHTML = mode;
}
+function setTitle(mode) {
+ console.log(mode)
+ document.querySelector("#testTitlSelect").innerHTML = mode;
+}
+
function launchTest() {
document.querySelector(".niveau").innerHTML = niveauActuel;
timer.stop();
@@ -1566,6 +1914,7 @@ function closeGame() {
function closeSelection() {
showDiv(document.querySelector("#mainPage"));
+ hideDiv(document.querySelector("#LastSelectionPage"));
hideDiv(document.querySelector("#levelSelectionPage"));
}
diff --git a/site/v1/js/generateGame.js b/site/v1/js/generateGame.js
index a45dbd0..6957717 100644
--- a/site/v1/js/generateGame.js
+++ b/site/v1/js/generateGame.js
@@ -295,153 +295,7 @@ function tuto(niveau) {
}
-function createGameOne(niveau) {
- windowWidth = window.innerWidth;
- windowHeight = window.innerHeight;
- var numberColonne1 = 2;
- var numberColonne2 = 1;
- var isEtNonAllowed = false;
- var isOuNonAllowed = false;
- var isNotAllowed = false;
- var isOuAllowed = false;
- double = false;
- var firstTime = [];
- switch (niveauActuel) {
- case 1:
- firstTime.push("et");
- break;
- case 2:
- numberColonne1 = 2;
- numberColonne2 = 0;
- timeEnd = 15;
- break;
- case 3:
- numberColonne1 = 2;
- numberColonne2 = 1;
- timeEnd = 15;
- break;
- case 4:
- numberColonne1 = 3;
- numberColonne2 = 1;
- timeEnd = 20;
- break;
- //Fin premiere serie
- case 5:
- firstTime.push("inv");
- isNotAllowed = true;
- timeEnd = 20;
- break;
- case 6:
- numberColonne1 = 2;
- numberColonne2 = 0;
- isNotAllowed = true;
- timeEnd = 20;
- break;
- case 7:
- numberColonne1 = 2;
- numberColonne2 = 1;
- isNotAllowed = true;
- timeEnd = 20;
- break;
- case 8:
- numberColonne1 = 3;
- numberColonne2 = 1;
- isNotAllowed = true;
- timeEnd = 20;
- break;
- case 9:
- numberColonne1 = 4;
- numberColonne2 = 2;
- isNotAllowed = true;
- double = true;
- timeEnd = 25;
- break;
- case 10:
- firstTime.push("ou");
- break;
- case 11:
- isNotAllowed = true;
- isOuAllowed = true;
- numberColonne1 = 3;
- numberColonne2 = 1;
- timeEnd = 20;
- break;
- case 12:
- case 13:
- case 14:
- isNotAllowed = true;
- isOuAllowed = true;
- numberColonne1 = 3;
- numberColonne2 = 1;
- timeEnd = 20;
- break;
- default:
- isEtNonAllowed = true;
- isOuNonAllowed = true;
- timeEnd = 20;
- numberColonne1 = 4;
- numberColonne2 = 4;
- break;
- }
- isTuto = false;
- createStage("play_container");
- stage.add(layer);
- colonneTot = 3;
- numberPerColonne = [numberColonne1, numberColonne2, 2];
- var logiqueCount = 0;
-
- if (firstTime.length > 0) {
- numberColonne1 = 1;
- numberColonne2 = 0;
- numberPerColonne = [numberColonne1, numberColonne2];
- liveColonneNumber.push([]);
- timeEnd = 20;
- insertLogiqueColonne("logique" + logiqueCount, firstTime[0], 0);
- if (allowedInfoPorte) {
- openModal('firstTime' + firstTime[0]);
- timer.pause();
- }
- } else {
- for (let i = 0; i < colonneTot; i++) {
- liveColonneNumber.push([]);
- }
- for (let i = 0; i < colonneTot; i++) {
- for (let j = 0; j < numberPerColonne[i]; j++) {
- logiqueCount++;
- let type = null;
- let x = 1;
- if (isOuAllowed) x++;
- if (isEtNonAllowed) x++;
- if (isOuNonAllowed) x++;
- if (isNotAllowed) x++;
- let numberRandom = getRandomArbitrary(0, x);
- switch (numberRandom) {
- case 0:
- type = "et";
- break;
- case 1:
- type = "inv";
- break;
- case 2:
- type = "ou";
- break;
- case 3:
- type = "etnon";
- break;
- case 4:
- type = "nonou";
- break;
- }
- insertLogiqueColonne("logique" + logiqueCount, type, i);
- }
- }
- }
- logiques.forEach(function (element) {
- createLinkAuto(element.name);
- });
- initEndGame();
-}
function generator(matchs, col, listePorteLogique, mode, time) {
@@ -1074,252 +928,6 @@ function generator(matchs, col, listePorteLogique, mode, time) {
}
-function generate2(col, matchs, fork, portes) {
- isTutoriel = false;
- isTuto = false;
- hideDiv(document.querySelector('#TestNouveauGenerateur'));
- showDiv(document.querySelector('#playPage'));
- resetAllTabs(false);
- if (portes === null || portes === undefined)
- arrayPorte = [
- [document.querySelector("#logique1").checked, "et"],
- [document.querySelector("#logique2").checked, "ou"],
- [document.querySelector("#logique3").checked, "inv"],
- [document.querySelector("#logique4").checked, "etnon"],
- [document.querySelector("#logique5").checked, "nonou"]
- ];
- else arrayPorte = portes;
-
-
-
- arrayPorte = arrayPorte.filter(function (e) {
- if (e[0] === true) return e;
- })
-
- var numberCol = col.length;
- var numberPerCol = [];
- numberPerColonne = [];
- tempMatchs = [];
- tempFork = [];
- for (let i = 0; i < col.length; i++) {
- numberPerCol[i] = col[i];
- numberPerColonne[i] = col[i];
- }
- for (let i = 0; i < matchs.length; i++)
- tempMatchs[i] = matchs[i];
- for (let i = 0; i < fork.length; i++)
- tempFork[i] = fork[i];
- tempPortes = portes;
- tempCol = numberPerColonne;
-
- colonneTot = col.length;
- var compt = new Array();
- var listeSame = [];
- let num = 1;
-
- //attribution
- for (let i = numberCol; i > 0; i--) {
- matchs.forEach(function (element) {
- if (element[0] == i) {
- for (let j = 0; j < element[1]; j++) {
- compt.push([i, "same" + num]);
- numberPerCol[i - 1]--;
- listeSame.push(["same" + num, null]);
- }
- num++;
- }
- });
- for (let j = 0; j < numberPerCol[i - 1]; j++)
- compt.push([i, "normal"]);
- }
-
- //attribution groupe
- var listeLogiqueObj = new Array();
- let i = 0;
- let colTemp = col;
- compt.forEach(function (element) {
- if (colTemp[element[0] - 1] !== 0) {
- var newLogiqueObj = {
- id: "logique" + i,
- col: element[0],
- id1: null,
- id2: null,
- id3: null,
- matchId1: null,
- matchId2: null,
- type: null,
- }
- if (element[1] === "normal") {
- newLogiqueObj.matchId1 = null;
- } else {
- newLogiqueObj.matchId1 = element[1];
- }
- listeLogiqueObj.push(newLogiqueObj);
- colTemp[element[0] - 1]--;
- } else {
- var allowed = [];
- listeLogiqueObj.forEach(function (logique) {
- if (logique.col === element[0] && logique.matchId1 !== element[1])
- allowed.push(logique);
- });
- allowed[getRandomArbitrary(0, allowed.length)].matchId2 = element[1];
- }
- i++;
- });
-
- //Attribution des types
- //num = liste de comptatibilité
-
- let num2 = getRandomArbitrary(0, arrayPorte.length);
- for (x in listeLogiqueObj) {
- if (listeLogiqueObj[x].matchId1 !== null) {
- if (getElementArray(listeLogiqueObj[x].matchId1, listeSame)[1] === null) {
- getElementArray(listeLogiqueObj[x].matchId1, listeSame)[1] = arrayPorte[num2][1];
- if (listeLogiqueObj[x].matchId2 !== null && getElementArray(listeLogiqueObj[x].matchId2, listeSame)[1] === null) {
- getElementArray(listeLogiqueObj[x].matchId2, listeSame)[1] = arrayPorte[num2][1];
- }
- num2 = getRandomArbitrary(0, arrayPorte.length);
- } else {
- listeSame[x] = getElementArray(listeLogiqueObj[x].matchId1, listeSame);
- }
- }
- }
-
- createStage("play_container");
- stage.add(layer);
- timeEnd = 999;
-
- for (let i = 0; i < colonneTot; i++) {
- liveColonneNumber.push([]);
- }
- var col = [];
- listeLogiqueObj.forEach(function (logique) {
- if (col[logique.col - 1] === null || col[logique.col - 1] === undefined || col[logique.col - 1] === 0)
- col[logique.col - 1] = 1;
- else col[logique.col - 1]++;
- });
- numberPerColonne = col;
- initTimer();
- //creation logique
- listeLogiqueObj.forEach(function (logique) {
- if (getTypeFromSameMatch(listeSame, logique.matchId1) === null) logique.type = arrayPorte[getRandomArbitrary(0, arrayPorte.length)][1];
- else logique.type = getTypeFromSameMatch(listeSame, logique.matchId1);
- insertLogiqueColonne(logique.id, logique.type, logique.col - 1);
- });
-
- var logiquesGen;
- //creation de liens entre les portes logiques :
- for (let col = 1; col < colonneTot; col++) {
- //recuperer tout les logiques :
- logiquesGen = new Array();
- listeLogiqueObj.forEach(function (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 = logiquesGen[getRandomArbitrary(0, logiquesGen.length)];
- //recupération des logiques d'entree :
- let logiqueEntre = new Array();
- let sameId = null;
- listeLogiqueObj.forEach(function (logique) {
- if (logique.col === col + 1) {
- if (sameId === null) {
- sameId = logique.matchId1;
- logiqueEntre.push(logique);
- } else if (sameId === logique.matchId1)
- logiqueEntre.push(logique);
- }
- });
- logiqueFork.id3 = "done";
- var loEntre = null;
- //creation du lien avec fork :
- for (let i = 0; i < logiqueEntre.length; i++) {
- createLink(findLogique(logiqueFork.id), findLogique(logiqueEntre[i].id));
- loEntre = findLogique(logiqueEntre[i].id);
- }
- logiques.forEach(function (logique) {
- if (logique.name === logiqueFork.id) createCircle(logique.x + imageWidth + ((loEntre.x - findLogique(logiqueFork.id).x) / 100 * pourcentageBreak), findLogique(logiqueFork.id).y + imageHeight / 2, logique.id3);
- });
- fork.splice(fork.indexOf(element), 1);
- }
- });
- }
-
- }
- //creation des autres liens :
- //recupération des logiques restants :
- for (x in listeLogiqueObj) {
- if (listeLogiqueObj[x].id3 === null && listeLogiqueObj[x].col !== colonneTot) {
- //liste des logiques possible :
- let logiquesGen = new Array();
- listeLogiqueObj.forEach(function (logique) {
- if (logique.col === listeLogiqueObj[x].col + 1) {
- 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;
- 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;
- }
- });
- createLink(findLogique(listeLogiqueObj[x].id), findLogique(logiqueFinal.id));
- }
- }
- initEndGame();
- perfectClick = 0;
- var endStateTab = [], v = 0;
- logiques.forEach(function (logique) {
- logique.id3.forEach(function (element) {
- if (getLogiqueFromLineEnter(element) === null || getLogiqueFromLineEnter(element) == undefined) {
- console.log(element);
- }
- });
- });
- endLines.forEach(function (line) {
- endStateTab[v] = ["line" + line, getLineState("line" + line)];
- v++;
- });
- endStateTab.forEach(function (element) {
- if (element[1] === false) {
-
- switch (getLogiqueFromLine(element[0]).type) {
- case "inv":
- //il faut les 2 allumé
- /* console.log(getLineState(getLogiqueFromLine(element[0]).id1));
- console.log(getLineState(getLogiqueFromLine(element[0]).id2));
- console.log(getLogiqueFromLine(element[0]).id1);*/
- setLineTrue(getLogiqueFromLine(element[0]).id1);
- break;
- default:
- setLineTrue(getLogiqueFromLine(element[0]).id1);
- setLineTrue(getLogiqueFromLine(element[0]).id2);
- break;
- }
- }
- });
- changePorte.forEach(function (element) {
- activeSwitch(element);
- checkAllSortieLogique();
- stage.draw();
- });
- checkAllSortieLogique();
- console.log(perfectClick);
-
-}
-
function setLineTrue(line) {
var isSwitch = false;
switchsInfoCopy.forEach(function (element) {
@@ -1428,4 +1036,930 @@ function isValid(listeLogique, colonneMax) {
console.log(element);
}
});
+}
+
+function launchFacileChapitre1(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 5";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 30;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [2, 1];
+ porteLogique = [[true, "et"]];
+ break;
+ case 3:
+ case 4:
+ col = [2, 2];
+ porteLogique = [[true, "et"], [true, "ou"]];
+ break;
+ case 5:
+ isFinish = true;
+ col = [3, 2, 1];
+ porteLogique = [[true, "et"], [true, "ou"]];
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalFacile1") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalFacile1") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
+}
+function launchFacileChapitre2(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 5";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 30;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [2, 2];
+ porteLogique = [[true, "et"], [true, "ou"]];
+ break;
+ case 3:
+ case 4:
+ col = [3, 3];
+ porteLogique = [[true, "et"], [true, "ou"]];
+ break;
+ case 5:
+ isFinish = true;
+ col = [3, 2, 2];
+ porteLogique = [[true, "et"], [true, "ou"]];
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalFacile2") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalFacile2") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
+}
+function launchFacileChapitre3(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 5";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 30;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [2, 2];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"]];
+ break;
+ case 3:
+ case 4:
+ col = [3, 3];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"]];
+ break;
+ case 5:
+ isFinish = true;
+ col = [3, 2, 2];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"]];
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalFacile3") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalFacile3") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
+}
+function launchFacileChapitre4(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 5";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 30;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [2, 2];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "nonou"]];
+ break;
+ case 3:
+ case 4:
+ col = [3, 3];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "nonou"]];
+ break;
+ case 5:
+ isFinish = true;
+ col = [3, 2, 2];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "nonou"]];
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalFacile4") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalFacile4") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
+}
+function launchFacileChapitre5(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 5";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 30;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [2, 2];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "nonou"], [true, "etnon"]];
+ break;
+ case 3:
+ case 4:
+ col = [3, 3];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "nonou"], [true, "etnon"]];
+ break;
+ case 5:
+ isFinish = true;
+ col = [3, 2, 2];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "nonou"], [true, "etnon"]];
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalFacile5") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalFacile5") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
+}
+
+function launchMoyenChapitre1(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 5";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 30;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [4, 3];
+ matchs = [[1, 2]];
+ porteLogique = [[true, "et"], [true, "ou"]];
+ break;
+ case 3:
+ case 4:
+ col = [4, 3];
+ matchs = [[1, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"]];
+ break;
+ case 5:
+ isFinish = true;
+ col = [4, 3];
+ matchs = [[1, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"]];
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalMoyen1") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalMoyen1") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
+}
+
+function launchMoyenChapitre2(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 5";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 30;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [4, 3];
+ matchs = [[1, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"]];
+ break;
+ case 3:
+ case 4:
+ col = [4, 3, 2];
+ matchs = [[2, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"]];
+ break;
+ case 5:
+ isFinish = true;
+ col = [4, 3, 2];
+ matchs = [[1, 2]];
+ porteLogique = [[true, "et"], [true, "inv"]];
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalMoyen2") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalMoyen2") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
+}
+function launchMoyenChapitre3(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 5";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 30;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [4, 3, 2];
+ matchs = [[1, 2]];
+ porteLogique = [[true, "et"], [true, "inv"], [true, "ou"]];
+ break;
+ case 3:
+ case 4:
+ col = [4, 3, 2];
+ matchs = [[1, 3]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "etnon"]];
+ break;
+ case 5:
+ isFinish = true;
+ col = [4, 3, 2];
+ matchs = [[1, 3]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"]];
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalMoyen3") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalMoyen3") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
+}
+
+
+function launchMoyenChapitre4(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 5";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 30;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [4, 3, 2];
+ matchs = [[1, 3]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "nonou"]];
+ break;
+ case 3:
+ case 4:
+ col = [5, 4, 3];
+ matchs = [[1, 2], [2, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "etnon"]];
+ break;
+ case 5:
+ isFinish = true;
+ col = [5, 4, 3];
+ matchs = [[1, 2], [2, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "etnon"]];
+ break;
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalMoyen4") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalMoyen4") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
+}
+
+function launchMoyenChapitre5(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 5";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 30;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [4, 3, 2];
+ matchs = [[1, 3]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "nonou"]];
+ break;
+ case 3:
+ case 4:
+ col = [5, 4, 3];
+ matchs = [[1, 2], [2, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "nonou"]];
+ break;
+ case 5:
+ isFinish = true;
+ col = [5, 4, 3];
+ matchs = [[1, 2], [2, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "nonou"]];
+ break;
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalMoyen5") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalMoyen5") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
+}
+
+//Impossible :
+
+function launchImpossibleChapitre1(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 5";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 20;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [4, 3];
+ matchs = [[1, 2]];
+ porteLogique = [[true, "et"], [true, "ou"]];
+ break;
+ case 3:
+ case 4:
+ col = [4, 3];
+ matchs = [[1, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"]];
+ break;
+ case 5:
+ isFinish = true;
+ col = [4, 3];
+ matchs = [[1, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"]];
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalImpossible1") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalImpossible1") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
+}
+
+function launchImpossibleChapitre2(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 5";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 20;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [4, 3, 2];
+ matchs = [[1, 2], [2, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"]];
+ break;
+ case 3:
+ case 4:
+ col = [4, 3, 2];
+ matchs = [[2, 2], [1, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"]];
+ break;
+ case 5:
+ isFinish = true;
+ col = [4, 3, 2];
+ matchs = [[1, 2], [2, 2]];
+ porteLogique = [[true, "et"], [true, "inv"]];
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalImpossible2") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalImpossible2") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
+}
+function launchImpossibleChapitre3(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 5";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 20;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [4, 3, 2];
+ matchs = [[1, 2], [1, 2]];
+ porteLogique = [[true, "et"], [true, "inv"], [true, "ou"]];
+ break;
+ case 3:
+ case 4:
+ col = [5, 4, 3];
+ matchs = [[1, 3], [1, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "etnon"]];
+ break;
+ case 5:
+ isFinish = true;
+ col = [4, 3, 2];
+ matchs = [[1, 3]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"]];
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalImpossible3") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalImpossible3") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
+}
+
+
+function launchImpossibleChapitre4(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 10";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 17;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [4, 3, 2];
+ matchs = [[1, 3]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "nonou"]];
+ break;
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ col = [7, 6, 5];
+ matchs = [[1, 3], [1, 2], [2, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "etnon"], [true, "nonou"]];
+ break;
+ case 10:
+ isFinish = true;
+ col = [7, 6, 5];
+ matchs = [[1, 3], [1, 2], [2, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "etnon"], [true, "nonou"]];
+ break;
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalImpossible4") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalImpossible4") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
+}
+
+function launchImpossibleChapitre5(mode) {
+ document.querySelector(".niveau").innerHTML = niveauActuel + " / 10";
+ document.querySelector("#win_pannel").style.display = "none";
+ timer.stop();
+ timer.reset();
+ resetAllTabs(false);
+ var col = [];
+ var matchs = [];
+ var porteLogique = [];
+ var time = 15;
+ switch (niveauActuel) {
+ case 1:
+ case 2:
+ col = [4, 3, 2];
+ matchs = [[1, 3]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "nonou"]];
+ break;
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ case 8:
+ case 9:
+ col = [7, 6, 5];
+ matchs = [[1, 3], [1, 2], [2, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "etnon"], [true, "nonou"]];
+ break;
+ case 10:
+ isFinish = true;
+ col = [7, 6, 5];
+ matchs = [[1, 3], [1, 2], [2, 2]];
+ porteLogique = [[true, "et"], [true, "ou"], [true, "inv"], [true, "etnon"], [true, "nonou"]];
+ break;
+ }
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalImpossible5") {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ }
+ while (checkIfEnd()) {
+ for (let i = 0; i < 200; i++) {
+ tentative = i;
+ if (generator(matchs, col, porteLogique, mode, time) === false)
+ break;
+ }
+ if (mode === "normalImpossible5") {
+ switchsInfoCopy.forEach(function (sw) {
+ switchsInfoCopy.forEach(function (sw) {
+ if (getRandomArbitrary(0, 3) === 1) {
+ activeSwitch(sw.id);
+ checkAllSortieLogique();
+ }
+ });
+ });
+ }
+ }
}
\ No newline at end of file
diff --git a/site/v1/js/lang.js b/site/v1/js/lang.js
index 5513513..8385900 100644
--- a/site/v1/js/lang.js
+++ b/site/v1/js/lang.js
@@ -14,7 +14,7 @@ const lang = {
active_switch_setting: "Couleur interrupteur actif",
inactive_switch_setting: "Couleur interrupteur inactif",
scoreTitle: "Tableau des scores",
- infoTitle: "Comment jouer ?",
+ infoTitle: "Informations",
gameOverTitle: "Perdu",
inactive_end_setting: "Couleur objectif : ",
modeDeJeu: "Mode de jeu",
@@ -24,7 +24,7 @@ const lang = {
infoFirstTimeEt: "Porte \"et\"",
infoFirstTimeEtInfo1: "L'opérateur ET renvoie VRAI seulement si ses deux entrées sont à 1.
Voici la table de vérité :",
infoFirstTimeOu: "Porte \"ou\"",
- infoFirstTimeOuInfo1: "L'opérateur OU renvoie VRAI si au moins une entrés est à 1.
Voici la table de vérité :",
+ infoFirstTimeOuInfo1: "L'opérateur OU renvoie VRAI si au moins une entrée est à 1.
Voici la table de vérité :",
infoFirstTimeinv: "Porte \"non\"",
infoFirstTimeinvInfo1: "La sortie est l'inverse de l'entrée.
Voici la table de vérité :",
cache_reinit: "Réinitialiser toutes les données du navigateur",
@@ -36,9 +36,10 @@ const lang = {
symbole: "Mode symboles",
timerSetting: "Activer la barre timer",
infoFirstTimenonou: "Porte \"non-ou\"",
- infoFirstTimenonouInfo1: "L'opérateur non-ou renvoie VRAI si aucune des entrés est à 1.
Voici la table de vérité :",
+ infoFirstTimenonouInfo1: "L'opérateur non-ou renvoie VRAI si aucune des entrées est à 1.
Voici la table de vérité :",
infoFirstTimeetnon: "Porte \"non-et\"",
- infoFirstTimeetnonInfo1: "L'opérateur non-et renvoie FAUX si les deux entrés sont à 1. Sinon il renvoie VRAI
Voici la table de vérité :",
+ timeInfo: "Vous avez réussi en ",
+ infoFirstTimeetnonInfo1: "L'opérateur non-et renvoie FAUX si les deux entrées sont à 1. Sinon il renvoie VRAI
Voici la table de vérité :",
},
en: {
@@ -57,7 +58,7 @@ const lang = {
active_switch_setting: "Color inactive switch : ",
inactive_switch_setting: "Color inactive switchs : ",
scoreTitle: "Scoreboard",
- infoTitle: "How to play ?",
+ infoTitle: "Informations",
inactive_end_setting: "End color : ",
modeDeJeu: "Gamemode",
niveau: "Level ",
diff --git a/site/v1/js/main.js b/site/v1/js/main.js
index 253fb10..013e5e9 100644
--- a/site/v1/js/main.js
+++ b/site/v1/js/main.js
@@ -10,6 +10,7 @@ function loadData() {
pseudo = localStorage.getItem("pseudo");
colorLineInnactive = localStorage.getItem("colorLineInnactive");
if (pseudo === null || pseudo === undefined) {
+ document.querySelector(".alert").style.display = "block";
pseudo = generateName();
}
if (colorLineInnactive === null || colorLineInnactive === undefined) {
@@ -36,6 +37,13 @@ function loadData() {
document.querySelector("#inactive_switch_setting").value = colorSwitchInnactiveBackground;
}
+function backHome() {
+ closeGame();
+ document.querySelector("#lose_pannel").style.display = "none";
+ hideDiv(document.querySelector("#playPage"));
+ showDiv(document.querySelector("#mainPage"));
+}
+
var mobile = false;
var switchs = [],
lineCount = [],
@@ -88,9 +96,6 @@ width = (window.innerWidth - window.innerWidth / 100 * 10);
height = window.innerHeight / 1.5;
function resetAllTabs(save) {
- logiques.forEach(function (logique) {
- layer.findOne("#" + logique.name).destroy();
- });
if (!save) {
timeEnd = 5;
}
@@ -112,28 +117,6 @@ function resetAllTabs(save) {
stage.draw();
}
-function gameOne() {
- document.querySelector("#play_container").style.maxHeight = window.innerHeight / 1.5 + "px";
- createGameOne(niveauActuel);
- isLineCollapsing();
- click = 0;
- var i = 0;
- while (checkIfEnd() || isLineCollapsing()) {
- if (i === NOMBRETEST) {
- break;
- }
- resetAllTabs(false);
- createGameOne(niveauActuel);
- isLineCollapsing();
- i++;
- }
- //console.log(stage);
- //gameData = new GameData(height,width,2,10,"mode1",false,"play_container");
- //gameData.createGame();
-
- //checkAllSortieLogique();
-}
-
function initEndGame(mode) {
diff --git a/site/v1/js/timer.js b/site/v1/js/timer.js
index c6f917b..afac478 100644
--- a/site/v1/js/timer.js
+++ b/site/v1/js/timer.js
@@ -45,30 +45,36 @@ timer.addEventListener('secondsUpdated', function (e) {
});
function endTime() {
- console.log(modeG)
if (modeG === "vanilla" || modeG === "normal") {
- closeGame();
clickTot = clickTot + click;
var scoreTot
if (niveauActuel === 1)
scoreTot = 0;
else
- scoreTot = ((1 / timeTot) * (1 / clickTot) * 1000).toFixed(2);
+ scoreTot = ((1 / timeTot) * (1 / clickTot) * 100000).toFixed(2);
document.querySelector("#scoreTotGameOver").innerHTML = "Score : " + scoreTot;
document.querySelector("#niveauGameOver").innerHTML = niveauActuel;
document.querySelector("#TempsTotGameOver").innerHTML = "Temps : " + timeTot;
sendScore(scoreTot, modeG, clickTot, niveauActuel, 25, timeTot);
clickTot = 0;
- openModal('gameOver');
+ document.querySelector("#lose_pannel").style.display = "block";
+ document.querySelector("#play_menu_game").style.display = "none";
} else {
if (!isTuto) {
- closeGame();
document.querySelector("#scoreTotGameOver").innerHTML = "Vous devez réussir tout les niveaux pour être classé";
document.querySelector("#niveauGameOver").innerHTML = "";
document.querySelector("#TempsTotGameOver").innerHTML = "";
- openModal('gameOver');
+ document.querySelector("#lose_pannel").style.display = "block";
+ document.querySelector("#play_menu_game").style.display = "none";
+ document.querySelector("#niveauGameOver").innerHTML = niveauActuel;
}
}
+ isTuto = true;
+ document.querySelector("#retry_button").onclick = function () {
+ wait(modeG, document.querySelector(".listenerHover"));
+ document.querySelector("#lose_pannel").style.display = "none";
+ document.querySelector("#play_menu_game").style.display = "block";
+ }
}