✨
🪶
🏰

🪄 Exercices JavaScript - École de Sorcellerie Poudlard 🪄

Maîtrisez la magie du code JavaScript et devenez un sorcier légendaire !

🧙‍♂️ Exercice 1: Profil du Sorcier

Sortilège : Créez votre profil complet de sorcier à Poudlard avec JavaScript !

Déclarez les variables magiques suivantes :

  • let nom = "Harry Potter"
  • let maison = "Gryffondor"
  • let niveau = 5
  • let gallions = 47
  • const baguette = "Houx et plume de phénix"

Affichez une carte de sorcier authentique avec console.log() dans un format digne de Poudlard.

0%
📜 Code JavaScript - Grimoire du Sorcier
🏆 Profil du Sorcier
Cliquez sur "Incanter" pour révéler votre magie...
📚 Conseil du Professeur Dumbledore
📚 Conseil 1 : Commencez par déclarer chaque variable avec le bon type (let, const) et les bonnes valeurs magiques. N'oubliez pas les guillemets pour les chaînes de caractères enchantées !
📚 Conseil 2 : Utilisez console.log() pour manifester votre carte. Combinez texte et variables : console.log("Sorcier:", nom)
🏆 Diplôme de Poudlard :
let nom = "Harry Potter";
let maison = "Gryffondor";
let niveau = 5;
let gallions = 47;
const baguette = "Houx et plume de phénix";

console.log("=== CARTE SORCIER ===");
console.log("Nom:", nom);
console.log("Maison:", maison);
console.log("Niveau:", niveau);
console.log("Gallions:", gallions);

⚡ Exercice 2: Duel de Sortilèges

Sortilège : Développez un système de duel magique avec les écoles de magie !

Créez une fonction lancerSort(ecoleSort, ecoleDefense, puissance) qui :

  • Prend l'école du sort, l'école de défense, et la puissance magique
  • Applique les affinités des écoles de magie :
    • Offensif vs Défensif = x3 dégâts (attaque surprise)
    • Défensif vs Offensif = x2 dégâts (contre-attaque)
    • Élémentaire vs Illusion = x2.5 dégâts (réalité vs mirage)
    • Interdit vs tout = x4 dégâts (magie noire)
    • Même école = x0.5 dégâts (connaissance mutuelle)
    • Autres = x1 dégât (équilibré)
  • Retourne les dégâts avec un message de sortilège
0%
📜 Code JavaScript - Livre des Sortilèges
⚔️ Résultats du Duel
Cliquez sur "Incanter" pour commencer le duel...
📚 Conseil du Professeur Flitwick
📚 Conseil 1 : Utilisez if/else ou switch pour maîtriser les écoles de magie. Pensez aux multiplicateurs : x3, x2.5, x4, x0.5, x1.
📚 Conseil 2 : Structure : if (ecoleSort === "Offensif" && ecoleDefense === "Défensif") { return puissance * 3; }
🏆 Diplôme de Poudlard :
function lancerSort(ecoleSort, ecoleDefense, puissance) {
  let multiplicateur = 1;
  if (ecoleSort === "Offensif" && ecoleDefense === "Défensif") {
    multiplicateur = 3;
  } else if (ecoleSort === "Défensif" && ecoleDefense === "Offensif") {
    multiplicateur = 2;
  } else if (ecoleSort === "Élémentaire" && ecoleDefense === "Illusion") {
    multiplicateur = 2.5;
  } else if (ecoleSort === "Interdit") {
    multiplicateur = 4;
  } else if (ecoleSort === ecoleDefense) {
    multiplicateur = 0.5;
  }
  return puissance * multiplicateur;
}

🏰 Exercice 3: Exploration du Château de Poudlard

Sortilège : Explorez les couloirs secrets de Poudlard et trouvez des objets magiques !

Créez une simulation d'exploration où :

  • Vous commencez avec 0 objets magiques trouvés
  • Vous explorez 9 lieux mythiques du château
  • Chaque lieu contient 0 à 4 objets magiques (utilisez Math.floor(Math.random() * 5))
  • Pour chaque objet, vous avez 75% de chance de le récupérer
  • Affichez les découvertes de chaque lieu avec des emojis magiques
  • Si vous trouvez 12 objets ou plus, vous découvrez une relique de Fondateur !
  • Si vous atteignez 18 objets, vous déverrouillez la Salle sur Demande !
0%
📜 Code JavaScript - Carte du Maraudeur
🗺️ Journal d'Exploration
Cliquez sur "Incanter" pour explorer Poudlard...
📚 Conseil d'Hermione Granger
📚 Conseil 1 : Dans la boucle, générez d'abord le nombre d'objets avec Math.floor(Math.random() * 5), puis utilisez une autre boucle pour tester chaque récupération.
📚 Conseil 2 : Pour tester 75% de chance : if (Math.random() < 0.75) { objets++; }. Affichez les découvertes avec des emojis magiques !
🏆 Diplôme de Poudlard :
for (let i = 0; i < lieux.length; i++) {
  const lieu = lieux[i];
  const objetsDisponibles = Math.floor(Math.random() * 5);
  let objetsRecuperes = 0;
  for (let j = 0; j < objetsDisponibles; j++) {
    if (Math.random() < 0.75) {
      objetsRecuperes++;
    }
  }
  objets += objetsRecuperes;
  console.log(`${lieu} Lieu: ${objetsRecuperes}/${objetsDisponibles} objets`);
}

🧪 Exercice 4: Maître des Potions

Sortilège : Créez un laboratoire de potions magiques digne de Severus Rogue !

Développez les fonctions alchimiques suivantes :

  • potionSoin(sante) : restaure la santé à 100%
  • elixirForce(force) : triple la force physique
  • philtreLuck(chance) : ajoute 50 points de chance
  • preparerPotion(type, valeur) : prépare la potion selon le type

La fonction principale doit gérer : "soin", "force", "chance".

0%
📜 Code JavaScript - Grimoire d'Alchimie
🧪 Laboratoire de Potions
Cliquez sur "Incanter" pour brasser des potions...
📚 Conseil du Professeur Rogue
📚 Conseil 1 : Chaque fonction alchimique fait un calcul spécifique : potionSoin() restaure à 100, elixirForce() triple (*3), philtreLuck() ajoute +50. La fonction principale doit choisir.
📚 Conseil 2 : Utilisez switch(type) ou des if/else dans preparerPotion() pour appeler potionSoin(), elixirForce(), ou philtreLuck().
🏆 Diplôme de Poudlard :
function potionSoin(sante) { return 100; }
function elixirForce(force) { return force * 3; }
function philtreLuck(chance) { return chance + 50; }

function preparerPotion(type, valeur) {
  switch(type) {
    case "soin": return potionSoin(valeur);
    case "force": return elixirForce(valeur);
    case "chance": return philtreLuck(valeur);
    default: return "Potion inconnue";
  }
}

📖 Exercice 5: Grimoire des Créatures Magiques

Sortilège : Rédigez le grimoire complet des créatures fantastiques du monde magique !

Créez un tableau d'objets pour chaque créature contenant :

  • nom (ex: "Hippogriffe", "Dragon", "Phénix")
  • habitat (ex: "Forêt", "Montagne", "Feu éternel")
  • dangerosity (niveau de 1 à 10)
  • legendaire (booléen - créature légendaire ?)

Créez au moins 3 créatures, puis :

  • Affichez toutes les créatures avec forEach()
  • Calculez le niveau de dangerosité moyen avec reduce()
  • Filtrez uniquement les créatures légendaires avec filter()
0%
📜 Code JavaScript - Bestiaire Magique
📚 Bestiaire Fantastique
Cliquez sur "Incanter" pour ouvrir le grimoire...
📚 Conseil d'Hagrid
📚 Conseil 1 : Ajoutez d'abord 2 autres créatures avec des valeurs différentes (ex: "Dragon" habitat Montagne dangerosité 9 légendaire false, "Phénix" habitat "Feu éternel" dangerosité 7 légendaire true). Variez les propriétés !
📚 Conseil 2 : forEach() parcourt, reduce() accumule (total += creature.dangerosity), filter() sélectionne (creature.legendaire === true). N'oubliez pas de diviser pour la moyenne !
🏆 Diplôme de Poudlard :
// Ajoutez ces créatures au tableau :
{ nom: 'Dragon', habitat: 'Montagne', dangerosity: 9, legendaire: false },
{ nom: 'Phénix', habitat: 'Feu éternel', dangerosity: 7, legendaire: true }

creatures.forEach(creature => console.log(`🐲 ${creature.nom}: Danger ${creature.dangerosity}`));
const dangerMoyen = creatures.reduce((total, creature) => total + creature.dangerosity, 0) / creatures.length;
const creaturesLegendaires = creatures.filter(creature => creature.legendaire);