From 2dd7af4445477f5046db6367d43332871998dd6e Mon Sep 17 00:00:00 2001 From: Bocquel Raphael Date: Fri, 3 Jan 2025 12:13:39 +0100 Subject: [PATCH] =?UTF-8?q?boutons=20chang=C3=A9s=20en=20images?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- demineur.html | 2 +- demineur.js | 60 ++++++++++++++++++++++++++++++--------------------- help.html | 35 ++++++++++++++++++++++++++++++ main.css | 2 +- main.html | 3 +-- 5 files changed, 74 insertions(+), 28 deletions(-) create mode 100644 help.html diff --git a/demineur.html b/demineur.html index f365838..a70fb2a 100644 --- a/demineur.html +++ b/demineur.html @@ -16,7 +16,7 @@ Home
- Help + Help
diff --git a/demineur.js b/demineur.js index 7278b05..f8aaf49 100644 --- a/demineur.js +++ b/demineur.js @@ -62,7 +62,8 @@ function MontrerMines() { //révèle toutes les mines sur le plateau après un e for (let j = 0; j < largeur; j++) { if (grille[i][j] === 9) { const mineCase = document.getElementById(i + "_" + j); - mineCase.style.background = "url('case_9.png')"; + mineCase.src = "case_9.png"; + mineCase.alt = "Mine" ; mineCase.classList.add("buttonRevealed"); } } @@ -183,13 +184,6 @@ function selectImage(idCase) { //détermine l'image à affecter à la case d'id chrono() ; } - //si la case révélée était une mine, arrête la partie et affiche un message de perte - if (grille[y][x] === 9 && arret == 0) { - arret = 1; - const time = document.getElementById("temps").value; - alert(`Vous avez perdu ! Temps passé : ${time} secondes.`); - MontrerMines(); - } //si la case révélée n'est adjacente à aucune mine, révèle également les cases adjacentes if (grille[y][x] == 0) { @@ -203,29 +197,44 @@ function selectImage(idCase) { //détermine l'image à affecter à la case d'id } } - //renvoie le nom de fichier de l'image à afficher dans la case en fonction du contenu de grille à la même position - return("url('case_" + grille[y][x].toString() + ".png')"); + //renvoie le numéro contenu dans grille à la position de la case + return(grille[y][x].toString()); } function changeImage(caseCible) { //Change l'image d'une case caseCible et appelle selectImage sur l'id de cette case. + //Si la case révélée était une mine, arrête la partie, affiche toutes les mines et un message de perte //Si c'est la dernière case ne contenant pas de mine, arrete la partie et affiche un message de victoire if (!(caseCible.classList.contains("buttonFlagged"))) { + caseCible.classList.add("buttonRevealed") ; - caseCible.style.background= selectImage(caseCible.id) ; + const nombreCase = selectImage(caseCible.id) ; + caseCible.src= "case_" + nombreCase + ".png" ; - cases_restantes = cases_restantes - 1 ; + if (nombreCase == "9") { //test de perte - //Test de victoire - if (cases_restantes == 0 && arret == 0) { - arret = 1 ; - const time = document.getElementById("temps").value; - alert(`Félicitations ! Vous avez gagné ! Temps passé : ${time} secondes.`); + caseCible.alt = "Mine" ; + if (arret == 0) { + arret = 1; + const time = document.getElementById("temps").value; + alert(`Vous avez perdu ! Temps passé : ${time} secondes.`); + MontrerMines(); + } + } else { //sinon, test de victoire + + caseCible.alt = nombreCase ; + + cases_restantes = cases_restantes - 1 ; + + if (cases_restantes == 0 && arret == 0) { + arret = 1 ; + const time = document.getElementById("temps").value; + alert(`Félicitations ! Vous avez gagné ! Temps passé : ${time} secondes.`); + } } - } - + } } @@ -245,10 +254,12 @@ function changeImageFlag(rightClick) { if (rightClick.target.classList.contains("buttonRevealed")) { return 0 ; } else if (rightClick.target.classList.contains("buttonFlagged")) { - rightClick.target.style.background="url('case_vide.png')" ; + rightClick.target.src="case_vide.png" ; + rightClick.target.alt = "Case" ; rightClick.target.classList.remove("buttonFlagged") ; } else { - rightClick.target.style.background="url('case_flag.png')" ; + rightClick.target.src="case_flag.png" ; + rightClick.target.alt = "Flag" ; rightClick.target.classList.add("buttonFlagged") ; } } @@ -270,7 +281,7 @@ function resetJeu() { //supprime la grille actuelle, arrête la partie, recrée function grilleButtons(haut, larg) { //crée dans la div jeu une div grille de type grid et de dimensions haut par larg - //et y ajoute les boutons représentant les cases du jeu de démineur en les liants aux fonctions adéquates + //et y ajoute les images représentant les cases du jeu de démineur en les liants aux fonctions adéquates const divJeu = document.getElementById("jeu") ; var divGrille = document.createElement("DIV") ; @@ -286,12 +297,13 @@ function grilleButtons(haut, larg) { for (var i=0;i + + + + + Démineur - Help + + + + + +
+
+ +

Comment jouer au démineur ?

+
+
+

Préparez-vous à une expérience de jeu inoubliable ! Cliquez sur le bouton ci-dessous pour commencer votre aventure.

+ Image de bienvenue + +
+
+

© 2024 Démineur. Tous droits réservés.

+
+
+ + + + + diff --git a/main.css b/main.css index 55ff3c0..ba261e8 100644 --- a/main.css +++ b/main.css @@ -58,9 +58,9 @@ button { text-transform: uppercase; cursor: pointer; /*transition: background-color 0.3s, transform 0.2s;*/ - } + button:hover { background-color: #d3e017; transform: scale(1.1); diff --git a/main.html b/main.html index 0560966..9d6f033 100644 --- a/main.html +++ b/main.html @@ -8,7 +8,6 @@ -
@@ -26,7 +25,7 @@
-