🔷 INFORMATIONS GÉNÉRALES
Champ Détail
Nom du script script_222cvmn_222.py
Version 1.0.0
Date de création 02/03/2026
Auteur / Demandeur IA Généré (Gemini)
Objectif principal Simuler les variations de graisse corporelle et les changements d’états comportementaux d’un ours sur plusieurs cycles annuels.
🎯 DESCRIPTION FONCTIONNELLE
📌 Que fait ce script ?
Ce script simule la survie d’un ours en fonction des saisons. Il gère dynamiquement ses réserves de graisse (gain via la pêche, perte via l’activité ou l’hibernation) et bascule entre trois états : Actif, Préparation à l’hiver et Hibernation.
📌 Problème résolu
Il permet de modéliser l’impact des seuils critiques de ressources (famine ou réserve suffisante) sur le comportement animal et de visualiser la viabilité métabolique d’un individu sur le long terme.
⚙️ SPÉCIFICATIONS TECHNIQUES
🐍 Environnement
Élément Valeur
Version Python 3.x
OS cible Tous (Windows, Linux, MacOS)
Mode d’exécution Script autonome avec visualisation graphique
📦 Dépendances / Librairies
Librairies externes (pip install) :
numpy (Calculs aléatoires et gestion de tableaux)
matplotlib (Génération des graphiques)
📥 ENTRÉES (INPUTS)
📂 Fichiers / Sources de données en entrée
Aucun fichier externe : Les paramètres sont codés en dur comme constantes au début du script.
📤 SORTIES (OUTPUTS)
📂 Fichiers / Données en sortie
Type Chemin / Format Description
Graphique Fenêtre interactive Matplotlib Courbe de graisse vs État de l’ours
Console Flux Standard (STDOUT) Alertes en cas de sortie d’hibernation forcée (famine)
🧱 STRUCTURE DU SCRIPT
script_222cvmn_222.py
📌 IMPORTS : numpy, matplotlib.pyplot
📌 CONSTANTES : Seuils de graisse et durée de simulation.
📌 CLASSE BearSimulator : Cœur de la logique métier.
📌 FONCTION run_simulation() : Pilote l’exécution temporelle.
📌 VISUALISATION : Bloc final générant le graphique double-axe.
🔧 Détail des fonctions principales
Fonction Paramètres Retour Rôle
get_current_season day (int) str Retourne la saison selon le jour de l’année.
peche_saumon season (str) None Ajoute de la graisse selon un gain aléatoire saisonnier.
update day (int) None Calcule la transition d’état et met à jour la graisse.
run_simulation jours (int) BearSimulator Instancie l’objet et fait tourner la boucle temporelle.
🔄 LOGIQUE / ALGORITHME
Phase d’Activité : L’ours pêche (gain) et se déplace (perte).
Transition Automnale : Si graisse >= 150, l’ours entre en hibernation. Sinon, il reste en « Prep_Hiver » pour tenter d’accumuler le manque.
Phase d’Hibernation : Perte fixe de 0.4 graisse/jour.
Sortie d’Hibernation :
Naturelle : Arrivée du Printemps.
Forcée : Si graisse < 50 (Alerte famine). 🚨 GESTION DES ERREURS Protection des données : Utilisation de max(0, self.graisse) pour éviter que la santé de l'ours ne devienne mathématiquement négative. Sortie forcée : Un message console prévient l'utilisateur si l'ours doit interrompre son sommeil pour survivre. ✅ CONTRAINTES & RÈGLES MÉTIER Règle 1 : Le gain de pêche est maximal en Automne ([3.0,5.0]). Règle 2 : L'hibernation n'est possible qu'en Automne si le stock est suffisant. Règle 3 : Les actions sociales (protection, marquage) ont une probabilité de déclenchement (10% et 5%). 🧪 TESTS ATTENDUS # Cas de test Entrée Résultat attendu 1 Cycle Nominal Graisse initiale 120 Cycle stable sur 2 ans. 2 Famine hivernale Graisse initiale faible Message "Alerte : Sortie d'hibernation forcée" en console. 3 Automne pauvre Gain saumon faible L'ours ne rentre pas en hibernation immédiatement. 📝 EXEMPLE D'UTILISATION ▶️ Lancement Bash python script_222cvmn_222.py 📋 Exemple de sortie attendue (Console) Plaintext 🐻 Alerte : Sortie d'hibernation forcée au Jour 312 !



Avis
Il n’y a pas encore d’avis.