From 2177d03435ea3a0f67690c41b877427acc5da40b Mon Sep 17 00:00:00 2001 From: mougnibas Date: Tue, 10 Dec 2024 14:59:58 +0100 Subject: [PATCH] =?UTF-8?q?ptites=20am=C3=A9lioration=20au=20niveau=20des?= =?UTF-8?q?=20alertes=20et=20des=20incr=C3=A9mentation=20de=20score?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- css/t8.css | 5 +++++ js/alerte.js | 38 ++++++++++++++++++++++++++++++++++---- js/intro.js | 2 +- js/main.js | 32 ++++++++++++++++++++++---------- 4 files changed, 62 insertions(+), 15 deletions(-) diff --git a/css/t8.css b/css/t8.css index 93fd7a4..f7fddc8 100644 --- a/css/t8.css +++ b/css/t8.css @@ -64,3 +64,8 @@ th { table tr:hover { background-color: #f1f1f1; } + + +video{ + visibility: visible; +} \ No newline at end of file diff --git a/js/alerte.js b/js/alerte.js index 5a9cd17..d78f977 100644 --- a/js/alerte.js +++ b/js/alerte.js @@ -1,8 +1,29 @@ +// prévention de l'empilement d'alertes, qui entrainerait la suppression de tous les messages sauf le dernier +// Pour cela, on utilise une file et une fonction asynchrone qui boucle et vide la file alerte par alerte +let file_alertes = [] + +function ouvrirAlerte(message){ + file_alertes.push(message) + + // si c'est la seule alerte en attente, on l'affiche + if(file_alertes.length == 1 ) { + afficherAlerte(file_alertes[0]) + } + // sinon, elle sera automatiquement affichée lors de la fermeture de l'alerte juste avant dans la file +} + + // Fonction pour afficher une alerte mais plus jolie que celle par défaut -function ouvrirAlerte(message) { +function afficherAlerte(message) { + + // on signale une alerte en train d'être visionnée + flag = true + + // on prend les elements - var modal = document.getElementById('alerte_jolie'); - var messageElement = document.getElementById('message_alerte_jolie'); + let modal = document.getElementById('alerte_jolie'); + + var messageElement = Ldocument.getElementById('message_alerte_jolie'); // Mettre le message messageElement.textContent = message; @@ -19,4 +40,13 @@ function fermerAlerte() { // et on cache en changeant la propriété css modal.style.display = "none"; -} \ No newline at end of file + + // enlève notre élément de la file + file_alertes.shift() + + // affiche récursivement les autres alertes en attentes + if(file_alertes.length > 0){ + afficherAlerte(file_alertes[0]) + } + +} diff --git a/js/intro.js b/js/intro.js index ef9fe9f..09fee94 100644 --- a/js/intro.js +++ b/js/intro.js @@ -30,7 +30,7 @@ function firstClick(){ function scoreCount(){ const score_aff = document.getElementById("score_affichage") - score += 1 + score += boost score_aff.innerText="SCORE : " + score // check refresh la table magasin pour afficher une amélioration si un palier est atteint diff --git a/js/main.js b/js/main.js index 0930100..a4b697c 100644 --- a/js/main.js +++ b/js/main.js @@ -8,6 +8,9 @@ let sacado = {} // premet de ne pas laisser le joueur acheter html 5 si il n'a pas débloqué html 1.0 etc.. let evolution = 0 +// variable qui permet d'augmenter la taille de l'incrément du score pour chaque clic, en fonction de la technlologie déloquée +let boost = 1 + async function remplirMagasin(){ @@ -26,12 +29,12 @@ async function remplirMagasin(){ const tr = document.createElement("tr") - const nom = document.createElement("td") - nom.innerText = el.nom - const boost = document.createElement("td") - boost.innerText = el.boost - const cout = document.createElement("td") - cout.innerText = el.cout + const case_nom = document.createElement("td") + case_nom.innerText = el.nom + const case_boost = document.createElement("td") + case_boost.innerText = el.boost + const case_cout = document.createElement("td") + case_cout.innerText = el.cout const test = document.createElement("td") const btn_acheter = document.createElement("button") @@ -69,7 +72,16 @@ async function remplirMagasin(){ score -= t.cout const score_aff = document.getElementById("score_affichage") score_aff.innerText="SCORE : " + score - + + // augmentation du boost d'incrément + ouvrirAlerte("Incrémentation de la rentabilité de tes clicks de "+t.boost+" points !!") + + if(t.props.evolution == 0){ + boost += t.boost -1 // car sinon, le premier boost ne va pas entrainer un nombre rond de points par click :) + + }else{ + boost += t.boost + } // incrémente le score implicite d'evolution pour permettre à la prochaine amelioration de s'afficher evolution += 1 @@ -93,9 +105,9 @@ async function remplirMagasin(){ test.appendChild(btn_acheter) - tr.appendChild(nom) - tr.appendChild(boost) - tr.appendChild(cout) + tr.appendChild(case_nom) + tr.appendChild(case_boost) + tr.appendChild(case_cout) tr.appendChild(test) table.appendChild(tr)