From 9f05970ab1423712d795a920b63dae5ae20bd30a Mon Sep 17 00:00:00 2001 From: Yannis SEVRET Date: Sat, 13 Mar 2021 10:53:03 +0100 Subject: [PATCH] =?UTF-8?q?Fin=20de=20Partie=20+=20aide=20+=20refresh=20aj?= =?UTF-8?q?out=C3=A9s?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SwichGIT/src/js/main.js | 109 ++++++++++++++++++++++++++++++++++++++-- 1 file changed, 106 insertions(+), 3 deletions(-) diff --git a/SwichGIT/src/js/main.js b/SwichGIT/src/js/main.js index f5ab210..4eac3e7 100644 --- a/SwichGIT/src/js/main.js +++ b/SwichGIT/src/js/main.js @@ -192,7 +192,7 @@ class Carte { document.getElementById(lacarte).style.boxShadow = "0 0 1vw red, 0 0 1vw red"; } else - window.alert("Bonjour !"); + window.alert("Selection Trop Grande !"); } }; } @@ -892,6 +892,7 @@ function journuit() { function lancerpartie() { lesPoints = 0; + goAide(); document.getElementById("progressbar").style.visibility = "hidden"; var ready = true; @@ -976,7 +977,11 @@ function rechargerGAME() { function redistribuerPlateau() { lesPoints -= 5; + goAide(); document.getElementById("affPoints").textContent = 'Score : ' + lesPoints; + while (carteselect.length != 0) { + carteselect.shift(); + } if (selectionMode == 0) { redistribuer(); } else if (selectionMode == 1 || selectionMode == 2) { @@ -1756,7 +1761,7 @@ function testPertinent() { console.log("===============!!!! BOOST !!!!=============") for (var i = 2; i < 6; i++) { var tabCheck = []; - for (var j = 0; j < 16 - i + 1; j++) { + for (var j = 0; j < deckPartie.length - i + 1; j++) { var tab = recherchePertinente(i, j, j); for (var m = 0; m < tab.length; m++) { tabCheck.push(tab[m]); @@ -1937,7 +1942,7 @@ function recherchePertinente(nbCarte, debut, carte) { function carteComplementaire(figure, debut) { var retour = []; //Pour toutes les cartes de deckpartie après la carte de début, on regarde les ronds des cartes et on regarde leurs couleurs pour les faire remonter. - for (var i = debut + 1; i < 16; i++) { + for (var i = debut + 1; i < deckPartie.length; i++) { for (var j = 0; j < deckPartie[i].SesFigures.length; j++) { if (deckPartie[i].SesFigures[j].type[0] == TypeFigure.Moyen) { if (deckPartie[i].SesFigures[j].couleur == figure.couleur) { @@ -2177,6 +2182,7 @@ function chercheCombi3() { } } + goRefresh(); } } } @@ -2197,6 +2203,100 @@ function chercheCombi3() { } } +//============================================================================================= +//Fonction pour refresh l'affichage + +var compteurRefresh = 50; +var refreshJ; + +function goRefresh() { + compteurRefresh = 50; + refresh(); +} + +function refresh() { + //console.log(compteurRefresh) + if (compteurRefresh > 0) { + compteurRefresh--; + refreshJ = setTimeout("refresh()", 100); + } + + else { + clearTimeout(refreshJ); + } + + if (compteurRefresh == 0) { + document.getElementById("affSolution").textContent = ""; + } +} + +//===================================================================== +//Fonctions permettant d'aider le joueur au bout d'un certain temps + + +var compteurAide = 300; + +function rechercheAide() { + var allComb = 0; + //window.alert("Voici ce que j'ai trouvé, mais voulez vous booster mes recherches ?") + console.log("===============!!!! BOOST !!!!=============") + for (var i = 2; i < 6; i++) { + var tabCheck = []; + for (var j = 0; j < deckPartie.length - i + 1; j++) { + var tab = recherchePertinente(i, j, j); + for (var m = 0; m < tab.length; m++) { + tabCheck.push(tab[m]); + } + + } + //console.log("J'ai tout les ensembles pour " + i + " cartes " + tabCheck.length) + var tabInte = comparaisonEmpilement(tabCheck, 0); + //console.log("nouveau tableau avec " + tabInte.length) + var comb = 0; + comb = testAllEnsemble(tabInte); + if (comb > 0) { + return; + } + allComb += comb; + } + if (deckPartie.length < 16 && comb == 0) { + if (!modelangue) { + window.alert("Fin de partie !") + } else { + window.alert("Game Over !") + } + retour(); + clearInterval(itv); + } else if (deckPartie.length >= 16 && comb == 0) { + lesPoints += 5; + redistribuerPlateau(); + } + console.log("nb combi : " + allComb) +} + +var aideJ; + +function goAide() { + compteurAide = 300; + aide(); +} + +function aide() { + console.log(compteurAide) + if (compteurAide > 0) { + compteurAide--; + aideJ = setTimeout("aide()", 100); + } + + else { + clearTimeout(aideJ); + } + + if (compteurAide == 0) { + rechercheAide(); + } +} + //================================================================================= @@ -2249,6 +2349,7 @@ function decompte() { } function testerLesCartes() { + goAide(); if (selectionMode == 0) { testPourJeuClassique(); } else if (selectionMode == 1 || selectionMode==2) { @@ -2325,6 +2426,7 @@ function testPourJeuInfini() { } } + goRefresh(); } } catch (e) { window.alert(e); @@ -2395,6 +2497,7 @@ function testPourJeuClassique() { document.getElementById("affSolution").textContent = 'Assembly of ' + copie.length + ' cards found ! There are still ' + TasDuJEU.length + ' cards !'; } } + goRefresh(); } /*} catch (e) { window.alert(e);