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
/** JavaScript */
const solution = '1848'
let input = prompt('En quelle année fut signé le décret d\'abolition de l\'esclavage en France ?')
while (input !== solution) {
input = prompt('Réessayez')
}
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.
/** JavaScript */
const solution = '1848'
const max = 4
let attempts = 1
let input = prompt('En quelle année fut signé le décret d\'abolition de l\'esclavage en France ?')
while (input !== solution && attempts < max) {
input = prompt('Réessayez')
attempts += 1
}
if (input === solution) {
console.log('Bonne réponse')
} else {
console.log('Dommage')
}