pisouvigne 5 years ago
parent b2ffe184a9
commit 2b5630fc75

@ -105,6 +105,14 @@ html {
justify-content: center; justify-content: center;
} }
#firstTime {
z-index: 5;
}
#firstTimeet {
z-index: 1;
}
#selectionContainer2 { #selectionContainer2 {
margin: 0 auto; margin: 0 auto;
width: 60%; width: 60%;

@ -137,11 +137,12 @@
</div> </div>
</div> </div>
<div id="containerVanilla"> <div id="containerVanilla">
<div class="border background dys listenerHover vanillaElement" onclick="wait('vanillaInfini', this)"> <div class="border background dys listenerHover vanillaElement sel4"
onclick="wait('vanillaInfini', this)">
<a>Mode Infini</a> <a>Mode Infini</a>
<i class="fa fa-play" aria-hidden="true"></i> <i class="fa fa-play" aria-hidden="true"></i>
</div> </div>
<div class="border background dys listenerHover vanillaElement scoreElement" <div class="border background dys listenerHover vanillaElement scoreElement infScore"
onclick="leaderboard('vanilla', this)"> onclick="leaderboard('vanilla', this)">
<a></a> <a></a>
<i class="fa fa-trophy" aria-hidden="true"></i> <i class="fa fa-trophy" aria-hidden="true"></i>
@ -209,24 +210,24 @@
<div> <div>
<p>Fonctions Logiques : </p> <p>Fonctions Logiques : </p>
<div> <div>
<input type="checkbox" id="logique1" name="logique1" checked> <input type="checkbox" id="logique10" name="logique10" checked>
<label for="logique1">ET</label> <label for="logique10">ET</label>
</div> </div>
<div> <div>
<input type="checkbox" id="logique2" name="logique2"> <input type="checkbox" id="logique20" name="logique20">
<label for="logique2">OU</label> <label for="logique20">OU</label>
</div> </div>
<div> <div>
<input type="checkbox" id="logique3" name="logique3"> <input type="checkbox" id="logique30" name="logique30">
<label for="logique3">NON</label> <label for="logique30">NON</label>
</div> </div>
<div> <div>
<input type="checkbox" id="logique4" name="logique4"> <input type="checkbox" id="logique40" name="logique40">
<label for="logique4">NON-ET</label> <label for="logique40">NON-ET</label>
</div> </div>
<div> <div>
<input type="checkbox" id="logique5" name="logique5"> <input type="checkbox" id="logique50" name="logique50">
<label for="logique5">NON-OU</label> <label for="logique50">NON-OU</label>
</div> </div>
</div><br><br> </div><br><br>
<div class="border background dys listenerHover" id="generate_button_perso" <div class="border background dys listenerHover" id="generate_button_perso"
@ -338,6 +339,26 @@
</div> </div>
</div> </div>
</div>--> </div>-->
<div id="firstTime" class="modal">
<div class="modal-content info-content">
<div class="modal-body dys border background" align=center>
<span class="close" onclick="closeModal('firstTime');">&times;</span>
<h1 class="dys">Comment jouer</h1>
<hr id="hr">
<br>
<br>Vous devez allumer la boite la plus à droite du circuit logique pour gagner la partie<br>
Pour cela, vous devez cliquer sur les boites à gauche de l'écran pour changer leur valeur : 0
(FAUX/ETEINT) ou 1 (VRAI/ALLUME).<br><br>
Le but est de terminer les niveaux en un minimum de clics et un minimum de temps<br><br>
Vous pouvez voir votre score à côté de chaque mode de jeu ainsi que le score des autres
joueurs.<br>
<p class="dys info_check" align=right>Ne plus afficher les aides <input type="checkbox"
id="info_check_input" onclick="showInfo();"></p>
</div>
</div>
</div>
<div id="firstTimeet" class="modal"> <div id="firstTimeet" class="modal">
<div class="modal-content info-content"> <div class="modal-content info-content">
<div class="modal-body dys border background" align=center> <div class="modal-body dys border background" align=center>
@ -373,11 +394,9 @@
</tr> </tr>
</table> </table>
<br> <br>
<p>a = entrée en haut à gauche<br> <p class="dys">a = entrée en haut à gauche<br>
b = entrée en bas à gauche<br> b = entrée en bas à gauche<br>
S = sortie à droite</p> S = sortie à droite</p>
<br>
<p></p>
<p><img src="img/txt_en/and.png" class="margin-right"><img src="img/sym/and.png"></p> <p><img src="img/txt_en/and.png" class="margin-right"><img src="img/sym/and.png"></p>
<br><br> <br><br>
<p class="dys info_check" align=right>Ne plus afficher les aides <input type="checkbox" <p class="dys info_check" align=right>Ne plus afficher les aides <input type="checkbox"
@ -420,11 +439,9 @@
</tr> </tr>
</table> </table>
<br> <br>
<p>a = entrée en haut à gauche<br> <p class="dys">a = entrée en haut à gauche<br>
b = entrée en bas à gauche<br> b = entrée en bas à gauche<br>
S = sortie à droite</p> S = sortie à droite</p>
<br>
<p></p>
<p><img src="img/txt_en/or.png" class="margin-right"><img src="img/sym/or.png"></p> <p><img src="img/txt_en/or.png" class="margin-right"><img src="img/sym/or.png"></p>
<br><br> <br><br>
<p class="dys info_check" align=right>Ne plus afficher les aides <input type="checkbox" <p class="dys info_check" align=right>Ne plus afficher les aides <input type="checkbox"
@ -454,10 +471,8 @@
</tr> </tr>
</table> </table>
<br> <br>
<p>a = entrée à gauche<br> <p class="dys">a = entrée à gauche<br>
S = sortie à droite</p> S = sortie à droite</p>
<br>
<p></p>
<p><img src="img/txt_en/not.png" class="margin-right"><img src="img/sym/not.png"></p> <p><img src="img/txt_en/not.png" class="margin-right"><img src="img/sym/not.png"></p>
<br><br> <br><br>
<p class="dys info_check" align=right>Ne plus afficher les aides</a><input type="checkbox" <p class="dys info_check" align=right>Ne plus afficher les aides</a><input type="checkbox"
@ -500,11 +515,9 @@
</tr> </tr>
</table> </table>
<br> <br>
<p>a = entrée en haut à gauche<br> <p class="dys">a = entrée en haut à gauche<br>
b = entrée en bas à gauche<br> b = entrée en bas à gauche<br>
S = sortie à droite</p> S = sortie à droite</p>
<br>
<p></p>
<p><img src="img/txt_en/nor.png" class="margin-right"><img src="img/sym/nor.png"></p> <p><img src="img/txt_en/nor.png" class="margin-right"><img src="img/sym/nor.png"></p>
<br><br> <br><br>
<p class="dys info_check" align=right>Ne plus afficher les aides <a class="txt" <p class="dys info_check" align=right>Ne plus afficher les aides <a class="txt"
@ -547,11 +560,9 @@
</tr> </tr>
</table> </table>
<br> <br>
<p>a = entrée en haut à gauche<br> <p class="dys">a = entrée en haut à gauche<br>
b = entrée en bas à gauche<br> b = entrée en bas à gauche<br>
S = sortie à droite</p> S = sortie à droite</p>
<br>
<p></p>
<p><img src="img/txt_en/nand.png" class="margin-right"><img src="img/sym/nand.png"></p> <p><img src="img/txt_en/nand.png" class="margin-right"><img src="img/sym/nand.png"></p>
<br><br> <br><br>
<p class="dys info_check" align=right>Ne plus afficher les aides <a class="txt" <p class="dys info_check" align=right>Ne plus afficher les aides <a class="txt"
@ -584,7 +595,7 @@
<p><a class="dys"></a><a class="dys" id="scoreTotGameOver"></a></p> <p><a class="dys"></a><a class="dys" id="scoreTotGameOver"></a></p>
<p class="dys"><a class="dys"></a><a class="dys" id="TempsTotGameOver"></a></p> <p class="dys"><a class="dys"></a><a class="dys" id="TempsTotGameOver"></a></p>
<p><a class="dys">Vous avez atteint le niveau : </a><a class="dys" id="niveauGameOver"></a><a <p><a class="dys">Vous avez atteint le niveau : </a><a class="dys" id="niveauGameOver"></a><a
class="dys"> / 5</a></p> class="dys nivShow"> / 5</a></p>
</div> </div>
<div class="border background dys listenerHover" id="retry_button" onclick=""> <div class="border background dys listenerHover" id="retry_button" onclick="">

@ -704,7 +704,10 @@ function success(mode) {
document.querySelector("#win_pannel").style.display = "block"; document.querySelector("#win_pannel").style.display = "block";
//openModal("success"); //openModal("success");
document.querySelector("#click_number").innerHTML = click; document.querySelector("#click_number").innerHTML = click;
document.querySelector("#time_number").innerHTML = time; if (mode === "tuto") {
document.querySelector("#time_number").innerHTML = "∞";
} else
document.querySelector("#time_number").innerHTML = time;
document.querySelector("#next_level_button").onclick = function () { document.querySelector("#next_level_button").onclick = function () {
//closeModal('success'); //closeModal('success');
nextLevel(mode); nextLevel(mode);
@ -972,7 +975,12 @@ function vanillaSelection() {
document.querySelector(".sel3").onclick = function () { document.querySelector(".sel3").onclick = function () {
wait('vanillaImpossible', document.querySelector(".sel3")) wait('vanillaImpossible', document.querySelector(".sel3"))
} }
document.querySelector(".sel4").onclick = function () {
wait('vanillaInfini', document.querySelector(".sel4"))
}
document.querySelector(".infScore").onclick = function () {
leaderboard('vanilla', document.querySelector(".infScore"))
}
} }
function normalSelection() { function normalSelection() {
@ -993,11 +1001,17 @@ function normalSelection() {
document.querySelector(".sel3").onclick = function () { document.querySelector(".sel3").onclick = function () {
wait('normalImpossible', document.querySelector(".sel3")) wait('normalImpossible', document.querySelector(".sel3"))
} }
document.querySelector(".sel4").onclick = function () {
wait('normalInfini', document.querySelector(".sel4"))
}
document.querySelector(".infScore").onclick = function () {
leaderboard('normal', document.querySelector(".infScore"))
}
} }
function playVanilla() { function playVanilla() {
hideDiv(document.querySelector("#VanillalevelSelectionPage")); hideDiv(document.querySelector("#VanillalevelSelectionPage"));
showDiv(document.querySelector("#mainPage")); showDiv(document.querySelector("#playPage"));
niveauActuel = 1; niveauActuel = 1;
timeTot = 0; timeTot = 0;
launchGameOne("vanilla"); launchGameOne("vanilla");
@ -1232,6 +1246,7 @@ function modeSelect() {
function wait(mode, btn) { function wait(mode, btn) {
console.log(mode)
document.querySelector("#lose_pannel").style.display = "none"; document.querySelector("#lose_pannel").style.display = "none";
isFinish = false; isFinish = false;
var time = 300; var time = 300;

@ -279,6 +279,8 @@ function tuto(niveau) {
if (firstTime.length > 0) { if (firstTime.length > 0) {
if (allowedInfoPorte) { if (allowedInfoPorte) {
openModal('firstTime' + firstTime[0]); openModal('firstTime' + firstTime[0]);
if (firstTime[0] === "et")
openModal('firstTime');
timer.pause(); timer.pause();
} }
generator([], [1], [[true, firstTime[0]]], "tuto"); generator([], [1], [[true, firstTime[0]]], "tuto");
@ -321,14 +323,25 @@ function generator(matchs, col, listePorteLogique, mode, time) {
var logiquesTemp = []; var logiquesTemp = [];
for (let i = 0; i < col.length; i++) colCopy[i] = col[i]; for (let i = 0; i < col.length; i++) colCopy[i] = col[i];
//liste porte logique //liste porte logique
if (listePorteLogique === null || listePorteLogique === undefined) if (listePorteLogique === null || listePorteLogique === undefined) {
arrayPorte = [ if (mode === "select")
[document.querySelector("#logique1").checked, "et"], arrayPorte = [
[document.querySelector("#logique2").checked, "ou"], [document.querySelector("#logique10").checked, "et"],
[document.querySelector("#logique3").checked, "inv"], [document.querySelector("#logique20").checked, "ou"],
[document.querySelector("#logique4").checked, "etnon"], [document.querySelector("#logique30").checked, "inv"],
[document.querySelector("#logique5").checked, "nonou"] [document.querySelector("#logique40").checked, "etnon"],
]; [document.querySelector("#logique50").checked, "nonou"]
];
else
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 = listePorteLogique; else arrayPorte = listePorteLogique;
arrayPorte = arrayPorte.filter(function (e) { arrayPorte = arrayPorte.filter(function (e) {
if (e[0] === true) return e; if (e[0] === true) return e;

@ -22,11 +22,11 @@ const lang = {
temps: "Temps : ", temps: "Temps : ",
title_selection: "Sélection du mode de jeu", title_selection: "Sélection du mode de jeu",
infoFirstTimeEt: "Porte \"et\"", infoFirstTimeEt: "Porte \"et\"",
infoFirstTimeEtInfo1: "L'opérateur ET renvoie VRAI seulement si ses deux entrées sont à 1.<br><br><br> Voici la table de vérité :", infoFirstTimeEtInfo1: "L'opérateur ET (ou AND en anglais) renvoie 1 seulement si ses deux entrées sont à 1.<br><br><br> Voici la table de vérité :",
infoFirstTimeOu: "Porte \"ou\"", infoFirstTimeOu: "Porte \"ou\"",
infoFirstTimeOuInfo1: "L'opérateur OU renvoie VRAI si au moins une entrée est à 1.<br><br><br> Voici la table de vérité :", infoFirstTimeOuInfo1: "L'opérateur OU (ou OR en anglais) renvoie 1 si au moins une entrée est à 1.<br><br><br> Voici la table de vérité :",
infoFirstTimeinv: "Porte \"non\"", infoFirstTimeinv: "Porte \"non\"",
infoFirstTimeinvInfo1: "La sortie est l'inverse de l'entrée.<br><br><br> Voici la table de vérité :", infoFirstTimeinvInfo1: "L'opérateur NON (ou NOT en anglais) renvoie l'inverse de l'entrée.<br><br><br> Voici la table de vérité :",
cache_reinit: "Réinitialiser toutes les données du navigateur", cache_reinit: "Réinitialiser toutes les données du navigateur",
reset_cache_message: "Toutes les données ont été supprimées.<br><br><br> La page va automatiquement se rafraichir dans 3s ...", reset_cache_message: "Toutes les données ont été supprimées.<br><br><br> La page va automatiquement se rafraichir dans 3s ...",
reset: "Reset", reset: "Reset",
@ -36,10 +36,10 @@ const lang = {
symbole: "Mode symboles", symbole: "Mode symboles",
timerSetting: "Activer la barre timer", timerSetting: "Activer la barre timer",
infoFirstTimenonou: "Porte \"non-ou\"", infoFirstTimenonou: "Porte \"non-ou\"",
infoFirstTimenonouInfo1: "L'opérateur non-ou renvoie VRAI si aucune des entrées est à 1.<br><br><br> Voici la table de vérité :", infoFirstTimenonouInfo1: "L'opérateur non-ou (ou NOR en anglais) renvoie 1 si aucune des entrées est à 1.<br><br><br> Voici la table de vérité :",
infoFirstTimeetnon: "Porte \"non-et\"", infoFirstTimeetnon: "Porte \"non-et\"",
timeInfo: "Vous avez réussi en ", 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<br><br><br> Voici la table de vérité :", infoFirstTimeetnonInfo1: "L'opérateur non-et (ou NAND en anglais) renvoie 0 si les deux entrées sont à 1. Sinon il renvoie VRAI<br><br><br> Voici la table de vérité :",
}, },
en: { en: {

@ -45,7 +45,9 @@ timer.addEventListener('secondsUpdated', function (e) {
}); });
function endTime() { function endTime() {
if (modeG === "vanilla" || modeG === "normal") { console.log(modeG);
document.querySelector(".nivShow").innerHTML = " / 5";
if (modeG === "vanillaInfini" || modeG === "normalInfini") {
clickTot = clickTot + click; clickTot = clickTot + click;
var scoreTot var scoreTot
if (niveauActuel === 1) if (niveauActuel === 1)
@ -57,6 +59,7 @@ function endTime() {
document.querySelector("#TempsTotGameOver").innerHTML = "Temps : " + timeTot; document.querySelector("#TempsTotGameOver").innerHTML = "Temps : " + timeTot;
sendScore(scoreTot, modeG, clickTot, niveauActuel, 25, timeTot); sendScore(scoreTot, modeG, clickTot, niveauActuel, 25, timeTot);
clickTot = 0; clickTot = 0;
document.querySelector(".nivShow").innerHTML = "";
document.querySelector("#lose_pannel").style.display = "block"; document.querySelector("#lose_pannel").style.display = "block";
document.querySelector("#play_menu_game").style.display = "none"; document.querySelector("#play_menu_game").style.display = "none";
} else { } else {

Loading…
Cancel
Save