👻

🔦 Exercices JavaScript - Chasseurs de Fantômes 🔦

Enquêtez sur des phénomènes paranormaux et identifiez les entités surnaturelles avec JavaScript !

🔦 Exercice 1: Équipement du Chasseur de Fantômes

Mission : Vous débutez une enquête paranormale ! Préparez votre équipement de base avec JavaScript.

Déclarez les variables suivantes pour votre chasseur :

  • let nom = "Agent Smith"
  • let sante = 100
  • let batterie = 85
  • const lieu = "Maison Ridgeview"
  • let temperature = 18.5

Affichez un rapport de mission avec console.log() de façon claire et organisée.

0%
📝 Code JavaScript - Journal d'Enquête
📊 Résultats d'Analyse
Cliquez sur "Analyser" pour commencer l'enquête...
🔍 Indices de l'Enquête Paranormale
🔍 Indice 1 : Commencez par déclarer chaque variable avec le bon type (let, const) et les bonnes valeurs. N'oubliez pas les guillemets pour les chaînes de caractères !
🔍 Indice 2 : Utilisez console.log() pour afficher vos variables. Vous pouvez combiner du texte et des variables : console.log("Nom:", nom)
🔓 Solution :
let nom = "Agent Smith";
let sante = 100;
let batterie = 85;
const lieu = "Maison Ridgeview";
let temperature = 18.5;

console.log("=== RAPPORT DE MISSION ===");
console.log("Nom:", nom);
console.log("Santé:", sante);
console.log("Batterie:", batterie + "%");

🌡️ Exercice 2: Système de Détection d'Entité

Mission : Développez un système pour détecter la présence d'entités surnaturelles !

Créez une fonction detecterEntite(temperature, emf, activiteParanormale) qui :

  • Prend la température (en °C), le niveau EMF (0-5), et l'activité paranormale (booléen)
  • Détecte une entité si :
    • Température < 10°C ET EMF ≥ 3
    • OU si activité paranormale = true ET EMF ≥ 2
  • Retourne un message d'alerte approprié
0%
📝 Code JavaScript - Détecteur Paranormal
📊 Résultats de Détection
Cliquez sur "Analyser" pour lancer la détection...
🔍 Indices de Détection Paranormale
🔍 Indice 1 : Utilisez les opérateurs && (ET) et || (OU) pour combiner vos conditions. N'oubliez pas les parenthèses pour grouper !
🔍 Indice 2 : Structure : if ((condition1 && condition2) || (condition3 && condition4)) { return "ENTITÉ DÉTECTÉE !"; }
🔓 Solution :
function detecterEntite(temperature, emf, activiteParanormale) {
  if ((temperature < 10 && emf >= 3) || (activiteParanormale && emf >= 2)) {
    return "⚠️ ENTITÉ DÉTECTÉE ! Présence paranormale confirmée.";
  } else {
    return "✅ Zone sécurisée. Aucune activité paranormale détectée.";
  }
}

🏠 Exercice 3: Scan Complet des Pièces

Mission : Balayez toutes les pièces de la maison hantée pour collecter des preuves !

Créez une simulation où :

  • Vous commencez avec 0 preuves collectées
  • Vous scannez 8 pièces de la maison
  • Chaque pièce a une chance de contenir 0 à 3 preuves (utilisez Math.floor(Math.random() * 4))
  • Pour chaque preuve, vous avez 80% de chance de la récupérer
  • Affichez les preuves trouvées dans chaque pièce
  • Si vous trouvez 10 preuves ou plus, l'entité devient hostile !
  • Affichez le statut final de la mission
0%
📝 Code JavaScript - Scanner de Maison
📊 Rapport de Scan
Cliquez sur "Analyser" pour commencer le scan...
🔍 Indices de Scan Paranormal
🔍 Indice 1 : Dans la boucle, générez d'abord le nombre de preuves avec Math.floor(Math.random() * 4), puis utilisez une autre boucle pour tester chaque récupération.
🔍 Indice 2 : Pour tester 80% de chance : if (Math.random() < 0.8) { preuves++; }. N'oubliez pas d'afficher les résultats pour chaque pièce !
🔓 Solution :
for (let i = 0; i < pieces.length; i++) {
  const piece = pieces[i];
  const preuvesDisponibles = Math.floor(Math.random() * 4);
  let preuvesRecuperees = 0;
  for (let j = 0; j < preuvesDisponibles; j++) {
    if (Math.random() < 0.8) {
      preuvesRecuperees++;
    }
  }
  preuves += preuvesRecuperees;
  console.log(`📍 ${piece}: ${preuvesRecuperees}/${preuvesDisponibles} preuves`);
}

🛠️ Exercice 4: Système d'Outils de Chasse

Mission : Créez un système de gestion des outils paranormaux !

Développez les fonctions suivantes :

  • emfReader(niveau) : retourne le niveau EMF + 1
  • thermometre(temp) : retourne la température - 2°C
  • appareilPhoto(preuves) : double le nombre de preuves
  • utiliserOutil(type, valeur) : utilise l'outil approprié selon le type

La fonction principale doit gérer : "emf", "thermometre", "photo".

0%
📝 Code JavaScript - Équipement Paranormal
📊 Tests d'Équipement
Cliquez sur "Analyser" pour tester les outils...
🔍 Indices d'Équipement Paranormal
🔍 Indice 1 : Chaque fonction spécialisée fait un calcul simple : +1, -2, *2. La fonction principale doit appeler la bonne fonction selon le paramètre "type".
🔍 Indice 2 : Utilisez switch(type) ou des if/else dans utiliserOutil() pour appeler emfReader(), thermometre(), ou appareilPhoto().
🔓 Solution :
function thermometre(temp) { return temp - 2; }
function appareilPhoto(preuves) { return preuves * 2; }

function utiliserOutil(type, valeur) {
  switch(type) {
    case "emf": return emfReader(valeur);
    case "thermometre": return thermometre(valeur);
    case "photo": return appareilPhoto(valeur);
    default: return "Outil inconnu";
  }
}

📚 Exercice 5: Base de Données des Entités

Mission : Créez une base de données complète des différents types de fantômes !

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

  • nom (ex: "Spirit", "Wraith", "Phantom")
  • dangerosity (niveau de 1 à 10)
  • preuves (array des preuves nécessaires)
  • hostile (booléen - entité agressive ?)

Créez au moins 3 entités, puis :

  • Affichez toutes les entités avec forEach()
  • Calculez le niveau de danger moyen avec reduce()
  • Filtrez les entités hostiles avec filter()
0%
📝 Code JavaScript - Base Paranormale
📊 Analyse des Entités
Cliquez sur "Analyser" pour consulter la base de données...
🔍 Indices de Base de Données
🔍 Indice 1 : Ajoutez d'abord 2 autres entités avec des valeurs différentes (ex: Wraith hostile dangerosity 7, Phantom dangerosity 5). Variez les propriétés !
🔍 Indice 2 : forEach() parcourt, reduce() accumule (total += entite.dangerosity), filter() sélectionne (entite.hostile === true). N'oubliez pas de diviser pour la moyenne !
🔓 Solution :
// Ajoutez ces entités au tableau :
{ nom: 'Wraith', dangerosity: 7, preuves: ['EMF', 'Température', 'Box Spirit'], hostile: true },
{ nom: 'Phantom', dangerosity: 5, preuves: ['Orbes', 'Température', 'UV'], hostile: false }

entites.forEach(entite => console.log(`👻 ${entite.nom}: Danger ${entite.dangerosity}`));
const moyenneDanger = entites.reduce((total, entite) => total + entite.dangerosity, 0) / entites.length;
const entitesHostiles = entites.filter(entite => entite.hostile);