Appliquer la notion

Question

On veut réaliser un quiz qui pose une question et la répète tant que la réponse n'est pas trouvée.

La première question est : « En quelle année fut signé le décret d'abolition de l'esclavage en France ? »

La bonne réponse, « 1848 », est stockée dans une constante .

Écrire le programme qui pose la question une fois, récupère la réponse dans une variable et la compare à la bonne réponse, puis affiche « Bonne réponse » si le joueur trouve. Tant que la réponse n'est pas la bonne, afficher « Réessayez ».

Solution

1
/** JavaScript */
2
const solution = '1848'
3
let input = prompt('En quelle  année fut signé le décret d\'abolition de l\'esclavage en France ?')
4
5
while (input !== solution) {
6
  input = prompt('Réessayez')
7
}
8
9
console.log('Bonne réponse')

On peut utiliser la comparaison stricte car solution est une chaîne de caractères. Si elle avait été un nombre, le test de l'égalité n'aurait pas pu être stricte, à moins de convertir la réponse en nombre.

Question

Ajouter une limite de 4 tentatives pour trouver la réponse. « Bonne réponse » ne doit être affiché que si le joueur a trouvé la réponse. Sinon, afficher « Dommage ».

Indice

On utilise un compteur incrémenté de 1 à chaque boucle. La condition du compteur inférieur à 4 doit être prise en compte dans la condition du while.

Solution

Une condition permet de vérifier que la boucle s'est bien interrompue parce que la réponse était juste et non pas à cause du nombre de tentatives maximum atteint.

1
/** JavaScript */
2
const solution = '1848'
3
const max = 4
4
let attempts = 1
5
let input = prompt('En quelle  année fut signé le décret d\'abolition de l\'esclavage en France ?')
6
7
while (input !== solution && attempts < max) {
8
  input = prompt('Réessayez')
9
  attempts += 1
10
}
11
12
if (input === solution) {
13
  console.log('Bonne réponse')
14
} else {
15
  console.log('Dommage')
16
}