Ce projet a été réalisé dans le cadre du module de Langage C durant le semestre 5 à Télécom Saint-Étienne. Il s'agit d'une implémentation en C++ d'un moteur de jeu de combat au tour par tour inspiré de l'univers Pokémon.
L'objectif de ce projet était de modéliser un système complexe en utilisant les mécanismes de la POO :
- Encapsulation : Gestion des statistiques (PV, Attaque, Vitesse) via des attributs privés et des accesseurs sécurisés.
- Héritage : Hiérarchisation des entités (ex: Classe mère
Pokemonet classes dérivées pour les types spécifiquesFirePokemon,WaterPokemon, etc.). - Polymorphisme : Utilisation de méthodes virtuelles pour gérer les attaques et les calculs de dégâts spécifiques aux types (système de forces/faiblesses).
- Gestion Mémoire : Allocation dynamique des objets et gestion du cycle de vie des entités.
L'application permet de simuler des duels de Pokémon avec les caractéristiques suivantes :
- Tour par tour : Les Pokémon attaquent selon leur statistique de vitesse.
- Gestion des Types : Prise en charge des efficacités (Eau > Feu > Plante > Eau...).
- Statistiques : Gestion des Points de Vie (PV), de l'Attaque et de la Défense.
- Attaques : Chaque Pokémon possède un set d'attaques avec des dégâts et des types associés.
- Création d'équipes de Pokémon.
- Déroulement automatisé ou interactif des combats.
- Affichage des logs de combat (dégâts infligés, KO, coups critiques).
- Gestion de la fin de combat (victoire/défaite).
Le projet est développé en C++ standard et peut être compilé via g++ ou Visual Studio.
# Exemple de compilation et lancement du jeu avec g++
g++ *.cpp -o jeu.exe ; .\jeu.exeProjet réalisé par Paulin Gasquet