🔮
💎
🔺

⚔️ Exercices JavaScript - The Legend of Zelda ⚔️

Maîtrisez JavaScript et sauvez le royaume d'Hyrule avec Link !

🛡️ Exercice 1: Le Héros d'Hyrule

Quête : Créez le profil complet de Link, le héros légendaire d'Hyrule avec JavaScript !

Déclarez les variables suivantes pour votre héros :

  • let nom = "Link"
  • let coeurs = 3
  • let rupees = 85
  • const region = "Hyrule"
  • const epee = "Épée de Kokiri"

Affichez un profil héroïque complet avec console.log() dans un format digne de la légende.

0%
📜 Code JavaScript - Profil du Héros
🏆 Légende du Héros
Cliquez sur "Invoquer" pour révéler le héros...
🔮 Oracle des Sages d'Hyrule
🔮 Oracle 1 : Commencez par déclarer chaque variable avec le bon type (let, const) et les bonnes valeurs héroïques. N'oubliez pas les guillemets pour les chaînes magiques !
🔮 Oracle 2 : Utilisez console.log() pour afficher votre profil. Combinez texte et variables : console.log("Héros:", nom)
🏆 Triforce de la Sagesse :
let nom = "Link";
let coeurs = 3;
let rupees = 85;
const region = "Hyrule";
const epee = "Épée de Kokiri";

console.log("=== PROFIL DU HÉROS ===");
console.log("Nom:", nom);
console.log("Cœurs:", coeurs);
console.log("Rupees:", rupees);

⚔️ Exercice 2: Combat Épique contre Ganon

Quête : Développez un système de combat magique avec les éléments sacrés !

Créez une fonction calculerAttaque(elementArme, elementEnnemi, puissance) qui :

  • Prend l'élément de l'arme, l'élément de l'ennemi, et la puissance de base
  • Applique les affinités élémentaires :
    • Feu vs Glace = x2.5 dégâts (fusion élémentaire)
    • Glace vs Feu = x2.5 dégâts (extinction)
    • Foudre vs Eau = x3 dégâts (électrocution)
    • Lumière vs Ténèbres = x4 dégâts (pouvoir sacré)
    • Même élément = x0.5 dégâts (résistance)
    • Autres = x1 dégât (normal)
  • Retourne les dégâts avec un message épique
0%
📜 Code JavaScript - Magie de Combat
⚔️ Résultats Épiques
Cliquez sur "Invoquer" pour déchaîner la magie...
🔮 Oracle des Combats Épiques
🔮 Oracle 1 : Utilisez if/else ou switch pour détecter les affinités élémentaires. Pensez aux multiplicateurs : x2.5, x3, x4, x0.5, x1.
🔮 Oracle 2 : Structure : if (elementArme === "Feu" && elementEnnemi === "Glace") { return puissance * 2.5; }
🏆 Triforce du Courage :
function calculerAttaque(elementArme, elementEnnemi, puissance) {
  let multiplicateur = 1;
  if ((elementArme === "Feu" && elementEnnemi === "Glace") || (elementArme === "Glace" && elementEnnemi === "Feu")) {
    multiplicateur = 2.5;
  } else if (elementArme === "Foudre" && elementEnnemi === "Eau") {
    multiplicateur = 3;
  } else if (elementArme === "Lumière" && elementEnnemi === "Ténèbres") {
    multiplicateur = 4;
  } else if (elementArme === elementEnnemi) {
    multiplicateur = 0.5;
  }
  return puissance * multiplicateur;
}

🏛️ Exercice 3: Exploration du Donjon des Anciens

Quête : Explorez un donjon mystérieux et découvrez ses trésors cachés !

Créez une simulation d'exploration où :

  • Link commence avec 0 trésors découverts
  • Il explore 8 salles du donjon
  • Chaque salle contient 0 à 3 trésors (utilisez Math.floor(Math.random() * 4))
  • Pour chaque trésor, il y a 80% de chance de le récupérer
  • Affichez les découvertes de chaque salle avec des symboles mystiques
  • Si Link trouve 10 trésors ou plus, il découvre un artefact légendaire !
  • Si il atteint 15 trésors, il débloque le trésor du boss final !
0%
📜 Code JavaScript - Exploration Mystique
🏛️ Journal d'Exploration
Cliquez sur "Invoquer" pour entrer dans le donjon...
🔮 Oracle du Donjon des Anciens
🔮 Oracle 1 : Dans la boucle, générez d'abord le nombre de trésors avec Math.floor(Math.random() * 4), puis utilisez une autre boucle pour tester chaque récupération.
🔮 Oracle 2 : Pour tester 80% de chance : if (Math.random() < 0.8) { tresors++; }. Affichez les découvertes de chaque salle avec des émojis mystiques !
🏆 Triforce de la Puissance :
for (let i = 0; i < salles.length; i++) {
  const salle = salles[i];
  const tresorsDisponibles = Math.floor(Math.random() * 4);
  let tresorsRecuperes = 0;
  for (let j = 0; j < tresorsDisponibles; j++) {
    if (Math.random() < 0.8) {
      tresorsRecuperes++;
    }
  }
  tresors += tresorsRecuperes;
  console.log(`${salle} Salle: ${tresorsRecuperes}/${tresorsDisponibles} trésors`);
}

🔮 Exercice 4: Sanctuaire des Objets Magiques

Quête : Créez un système d'objets magiques pour Link dans le Sanctuaire Ancien !

Développez les fonctions sacrées suivantes :

  • potionVie(coeurs) : restaure tous les cœurs (maximum 20)
  • rubisSupreme(rupees) : triple les rupees
  • benedictionForce(attaque) : ajoute 25 points d'attaque
  • invoquerObjet(objet, valeur) : invoque l'objet magique approprié

La fonction principale doit gérer : "potion", "rubis", "benediction".

0%
📜 Code JavaScript - Magie Sacrée
🔮 Sanctuaire Magique
Cliquez sur "Invoquer" pour accéder aux objets sacrés...
🔮 Oracle du Sanctuaire Magique
🔮 Oracle 1 : Chaque fonction spécialisée fait un calcul magique : potionVie() restaure à 20, rubisSupreme() triple (*3), benedictionForce() ajoute +25. La fonction principale doit choisir.
🔮 Oracle 2 : Utilisez switch(objet) ou des if/else dans invoquerObjet() pour appeler potionVie(), rubisSupreme(), ou benedictionForce().
🏆 Triforce de la Sagesse :
function potionVie(coeurs) { return 20; }
function rubisSupreme(rupees) { return rupees * 3; }
function benedictionForce(attaque) { return attaque + 25; }

function invoquerObjet(objet, valeur) {
  switch(objet) {
    case "potion": return potionVie(valeur);
    case "rubis": return rubisSupreme(valeur);
    case "benediction": return benedictionForce(valeur);
    default: return "Objet inconnu";
  }
}

🗺️ Exercice 5: Atlas du Royaume d'Hyrule

Quête : Créez la carte légendaire complète du royaume d'Hyrule !

Créez un tableau d'objets pour chaque région contenant :

  • nom (ex: "Plateau du Prélude", "Forêt Kokiri", "Château d'Hyrule")
  • element (ex: "Terre", "Nature", "Lumière", "Ténèbres")
  • danger (niveau de 1 à 10)
  • sanctuaire (booléen - contient un sanctuaire ancien ?)

Créez au moins 3 régions, puis :

  • Affichez toutes les régions avec forEach()
  • Calculez le niveau de danger moyen avec reduce()
  • Filtrez les régions avec des sanctuaires avec filter()
0%
📜 Code JavaScript - Cartographie Sacrée
🗺️ Carte Légendaire
Cliquez sur "Invoquer" pour révéler Hyrule...
🔮 Oracle de la Cartographie Sacrée
🔮 Oracle 1 : Ajoutez d'abord 2 autres régions avec des valeurs différentes (ex: "Forêt Kokiri" élément Nature danger 4, "Château d'Hyrule" élément Lumière danger 8). Variez les propriétés !
🔮 Oracle 2 : forEach() parcourt, reduce() accumule (total += region.danger), filter() sélectionne (region.sanctuaire === true). N'oubliez pas de diviser pour la moyenne !
🏆 Triforce de la Sagesse :
// Ajoutez ces régions au tableau :
{ nom: 'Forêt Kokiri', element: 'Nature', danger: 4, sanctuaire: true },
{ nom: 'Château d\'Hyrule', element: 'Lumière', danger: 8, sanctuaire: false }

hyrule.forEach(region => console.log(`🗺️ ${region.nom}: Danger ${region.danger}`));
const moyenneDanger = hyrule.reduce((total, region) => total + region.danger, 0) / hyrule.length;
const regionsAvecSanctuaires = hyrule.filter(region => region.sanctuaire);