animation_volcan.py

49,00 

Générer une animation textuelle (ASCII art) dynamique d’un volcan en éruption dans le terminal.

UGS : animation_volcan.py Catégorie : Étiquette :

🔷 INFORMATIONS GÉNÉRALES

Champ Détail

Nom du script animation_volcan.py

Version 1.0.0

Date de création 25/03/2026

Auteur / Demandeur refoïa jeremy

Objectif principal Générer une animation textuelle (ASCII art) dynamique d’un volcan en éruption dans le terminal.

🎯 DESCRIPTION FONCTIONNELLE

📌 Que fait ce script ?

Le script simule visuellement une éruption volcanique directement dans la console. Il utilise des caractères ASCII, des codes couleurs ANSI et une boucle temporelle pour créer un effet de mouvement (fumée qui monte, lave qui coule, projections de particules et ciel étoilé scintillant).

📌 Problème résolu

Offre une démonstration ludique de manipulation du terminal, de gestion des couleurs ANSI et de création d’animations simples en Python sans bibliothèque graphique externe (type Pygame).

⚙️ SPÉCIFICATIONS TECHNIQUES

🐍 Environnement

Élément Valeur

Version Python 3.6+ (pour les f-strings)

OS cible Windows / Linux / MacOS (Multiplateforme)

Mode d’exécution CLI (Ligne de commande)

📦 Dépendances / Librairies

Librairies standard (built-in)

random : Génération de l’aléatoire (particules, couleurs, étoiles).

time : Gestion du délai entre les frames (fps).

os : Nettoyage de la console (cls ou clear).

sys : Interactions système de base.

📥 ENTRÉES (INPUTS)

# Nom Type Obligatoire Description Exemple

1 duree int ❌ Non Durée de l’animation en secondes 60

📤 SORTIES (OUTPUTS)

# Nom Type Description Exemple

1 Flux Standard stdout Animation visuelle continue dans le terminal (Rendu ASCII couleur)

🧱 STRUCTURE DU SCRIPT

animation_volcan.py

├── 📌 CLASSE Couleurs (Gestion des codes ANSI)

├── 📌 FONCTIONS UTILITAIRES

│ ├── effacer_ecran() → Nettoie le terminal selon l’OS

│ └── couleur_lave() → Sélection aléatoire de teintes chaudes

├── 📌 MOTEUR DE GÉNÉRATION

│ ├── generer_particules() → Crée les projections d’éruption

│ └── dessiner_volcan(frame) → Assemble les couches (ciel, fumée, corps, base)

├── 📌 LOGIQUE D’ANIMATION

│ └── animation_volcan(duree) → Boucle principale (4 FPS)

└── 📌 MAIN (Point d’entrée)

🔧 Détail des fonctions principales

Fonction Paramètres Retour Rôle

dessiner_volcan(frame) frame: int None Calcule et affiche l’image complète du volcan pour un instant T.

generer_particules(l, h) int, int list Retourne une liste de dictionnaires (coordonnées, symboles) pour les débris.

animation_volcan(duree) duree: int None Gère la boucle while et l’interruption utilisateur (Ctrl+C).

🔄 LOGIQUE / ALGORITHME

ÉTAPE 1 → Initialisation et attente de 1s.

ÉTAPE 2 → Entrée dans la boucle : Calcul du « frame » actuel.

ÉTAPE 3 → Construction dynamique de la chaîne de caractères (Ciel → Fumée → Éruption → Volcan → Lave au sol).

ÉTAPE 4 → Affichage des statistiques (Température/Intensité aléatoires).

ÉTAPE 5 → Pause de 0.25s et répétition jusqu’à la fin de la durée ou interruption.

🚨 GESTION DES ERREURS

Cas d’erreur Type d’exception Comportement attendu

Arrêt manuel KeyboardInterrupt Efface l’écran et affiche un message de fin propre.

OS non reconnu os.name Utilise clear par défaut si ce n’est pas nt (Windows).

🧪 TESTS ATTENDUS

# Cas de test Entrée Résultat attendu Statut

1 Lancement standard duree=5 Animation fluide pendant 5s ⬜ À tester

2 Interruption Ctrl+C Sortie immédiate sans message d’erreur Python ⬜ À tester

3 Terminal réduit N/A Le volcan peut se déformer (affichage ligne par ligne) ⬜ À tester

📝 EXEMPLE D’UTILISATION

▶️ Lancement en ligne de commande

Bash

# Lancement avec les paramètres par défaut (60 secondes)

python animation_volcan.py

📋 Exemple de sortie attendue (simplifié)

Plaintext

🌋 VOLCAN EN ÉRUPTION 🌋

(~~~~~) (~~~~)

* / *

/████████

▓▒░🌋🌋░▒▓

———————–

🌡️ Température : 1054°C | Intensité : Explosive! 💥

📌 NOTES COMPLÉMENTAIRES

Compatibilité : Les couleurs peuvent ne pas s’afficher correctement sur certains anciens terminaux Windows (utiliser Windows Terminal ou PowerShell récent).

Performance : Le script est très léger car il n’utilise que des impressions de texte (ASCII).

Avis

Il n’y a pas encore d’avis.

Soyez le premier à laisser votre avis sur “animation_volcan.py”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *