DébutantNon commencé

Exercice 3.1 · 8 min · 0 tentative

La boucle while

🎯 Objectif

Utiliser while pour répéter des instructions quand on ne sait pas combien de fois il faudra répéter.

📖 Contexte

Quand utiliser while ?

while est utile quand le nombre de répétitions est inconnu. On sait juste quand s'arrêter :

// On double l'argent jusqu'à dépasser un seuil
let argent = 1

while (argent < 1000) {
  argent = argent * 2
}

console.log(argent)  // 1024

On ne savait pas que ça prendrait 10 doublements. C'est while qui a compté pour nous !

Comment ça fonctionne ?

  1. Vérifier la condition → argent < 1000 ?
  2. Si trueexécuter le bloc
  3. Revenir à l'étape 1
  4. Si falsesortir de la boucle

while vs for

BoucleQuand l'utiliserExemple
forNombre de répétitions connuAfficher de 1 à 10
whileNombre de répétitions inconnuDoubler jusqu'à dépasser 1000
// for : on SAIT qu'on veut 5 tours
for (let i = 1; i <= 5; i++) {
  console.log(i)
}

// while : on NE SAIT PAS combien de tours
let n = 1
while (n < 100) {
  n = n * 3  // 3, 9, 27, 81, 243 → 5 tours ? On ne le savait pas !
}

Attention aux boucles infinies ! Si la condition reste toujours true, la boucle ne s'arrête jamais et le navigateur se bloque. Assure-toi que quelque chose change dans le bloc pour que la condition finisse par devenir false.

📝 Consigne

  1. Argent : Remplace ___ par la condition argent < 1000 et le doublement argent * 2
  2. Combat : Remplace ___ par la condition pv > 0 et la perte pv - 7

Résultat attendu :

Jour 1 : 2 CHF
Jour 2 : 4 CHF
Jour 3 : 8 CHF
Jour 4 : 16 CHF
Jour 5 : 32 CHF
Jour 6 : 64 CHF
Jour 7 : 128 CHF
Jour 8 : 256 CHF
Jour 9 : 512 CHF
Jour 10 : 1024 CHF
Il faut 10 jours pour dépasser 1000 CHF !
Tour 1 : 93 PV
Tour 2 : 86 PV
...
Tour 14 : 2 PV
Tour 15 : -5 PV
K.O. après 15 tours !

Objectifs

  • Condition while pour l'argent
  • Doubler l'argent
  • Condition while pour les PV
  • Perdre des PV
  • Résultat du doublement
  • Résultat du combat

Lis bien les instructions et lance-toi !

Indices (0/3)

Indice 1 verrouillé
Indice 2 verrouillé
Indice 3 verrouillé