Exercice JavaScript

Fermé
muzan0jackson Messages postés 16 Date d'inscription dimanche 12 décembre 2021 Statut Membre Dernière intervention 18 juillet 2024 - 9 mai 2022 à 19:45
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 - 9 mai 2022 à 22:18
Bonjour. Je suis bloqué dans les deux dernières questions de mon travaille.
Les voici :
1) Modifier la fonction de vérification pour qu'elle joue le son "échec.mp3" si c'est une réponse fausse et le son "bravo.mp3 si c'est une réponse juste.
2) Si l'on clique plusieurs fois de suite sur une bonne réponse, on continue à engranger des points. On voudrait corriger ce fonctionnement et faire en sorte que chaque réponse juste oblige le joueur à recliquer sur le bouton "jouer".

Merci d'avance !!!

--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Le script :

// sons est un tableau qui contient les id des sons disponibles
sons = ["agneau", "tigre", "canard", "lapin", "tarentule", "chaton", "suricate", "ecureuil", "koala"];
// memoire est un "tableau" qui va contenir le son voulu à l'index 0, le nombre de coups à l'index 1 et le nombre de coups réussi à l'index 2
memoire = ["aucun_choix", 0, 0];

function verifier(nom) {
	/* Fonction qui vérifie si le joueur a bien cliqué sur la bonne image */
	document.getElementById(nom).play(); // Joue un son dont le id correspond à nom
	memoire[1] = memoire[1] + 1; // on incrémente l'index 1 de memoire
	document.getElementById('coups').innerHTML = memoire[1]
	if (nom == memoire[0]) {
		memoire[2] = memoire[2] + 1 ;
		document.getElementById('points').innerHTML = memoire[2];
	}
}

function choisir_un_son_au_hasard(){
	/* Fonction qui choisit et joue un son parmi sons et place l'id dans memoire[0] 
	.. effet de bord : modifie l'index 0 de memoire en y plaçant "agneau" ou autre ...
	*/
	var longueur = sons.length;
	var index_aleatoire = 1 + Math.floor(Math.random() * longueur) ; // entre 0 et (longueur-1)
	memoire[0] = sons[index_aleatoire]; // on place l'id sélectionné dans son_voulu[0]
	document.getElementById(memoire[0]).play(); // on joue le son pour que le joueur le retrouve 
}

function demarrage(){
	document.getElementById('coups').innerHTML = memoire[1]; // affichage initial du nombre de coups
	document.getElementById('points').innerHTML = memoire[2]; // affichage initial du nombre de points
}	

window.addEventListener("load", demarrage);

1 réponse

jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
9 mai 2022 à 20:52
Bonjour,

Tu dis "bloquer" ... mais... qu'as tu essayé ?
pour rappel : https://www.commentcamarche.net/infos/25899-demander-de-l-aide-pour-vos-exercices-sur-ccm/
0
muzan0jackson Messages postés 16 Date d'inscription dimanche 12 décembre 2021 Statut Membre Dernière intervention 18 juillet 2024
9 mai 2022 à 21:40
J'ai fait :
// sons est un tableau qui contient les id des sons disponibles
sons = ["agneau", "tigre", "canard", "lapin", "tarentule", "chaton", "suricate", "ecureuil", "koala"];
// memoire est un "tableau" qui va contenir le son voulu à l'index 0, le nombre de coups à l'index 1 et le nombre de coups réussi à l'index 2
memoire = ["aucun_choix", 0, 0];

function verifier(nom) {
	/* Fonction qui vérifie si le joueur a bien cliqué sur la bonne image */
	document.getElementById(nom).play(); // Joue un son dont le id correspond à nom
	memoire[1] = memoire[1] + 1; // on incrémente l'index 1 de memoire
	document.getElementById('coups').innerHTML = memoire[1]
	if (nom == memoire[0]) {
		memoire[2] = memoire[2] + 1 ;
		document.getElementById('points').innerHTML = memoire[2];
	}
   if (nom == document.getElementById) {
       play ("bravo.mp3)
   }
  else {
        play("échec.mp3)
  }

function choisir_un_son_au_hasard(){
	/* Fonction qui choisit et joue un son parmi sons et place l'id dans memoire[0] 
	.. effet de bord : modifie l'index 0 de memoire en y plaçant "agneau" ou autre ...
	*/
	var longueur = sons.length;
	var index_aleatoire = 1 + Math.floor(Math.random() * longueur) ; // entre 0 et (longueur-1)
	memoire[0] = sons[index_aleatoire]; // on place l'id sélectionné dans son_voulu[0]
	document.getElementById(memoire[0]).play(); // on joue le son pour que le joueur le retrouve 
}

function demarrage(){
	document.getElementById('coups').innerHTML = memoire[1]; // affichage initial du nombre de coups
	document.getElementById('points').innerHTML = memoire[2]; // affichage initial du nombre de points
}	

window.addEventListener("load", demarrage);
0
jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705 > muzan0jackson Messages postés 16 Date d'inscription dimanche 12 décembre 2021 Statut Membre Dernière intervention 18 juillet 2024
9 mai 2022 à 22:18
Ton if ligne 15 est totalement faux...
Et puis . Ne l'as tu pas déjà ligne 11 ?
0