Énoncé de l'exercice : Système de Combat avec le Design Pattern Strategy
Dans cet exercice, vous allez concevoir un système de combat pour un jeu, en utilisant le
design pattern Strategy. L'objectif est de permettre aux personnages de changer
dynamiquement leur stratégie de combat (épée, arc, etc.) en fonction des situations.
Objectif :
Créer un programme qui permet de :
1. Définir différentes stratégies de combat.
2. Associer une stratégie spécifique à un personnage.
3. Changer dynamiquement la stratégie de combat d'un personnage.
Consignes :
1. Créer une interface CombatStrategy
o Cette interface doit définir une méthode void execute() qui représentera une
action de combat.
2. Implémenter plusieurs stratégies de combat :
o SwordStrategy : Imprime "Combat avec une épée !"
o BowStrategy : Imprime "Combat avec un arc !"
o MagicStrategy : Imprime "Lance un sort magique !"
3. Créer une classe Character qui utilise une stratégie :
o La classe doit avoir une méthode setStrategy(CombatStrategy strategy) pour
modifier dynamiquement la stratégie.
o Elle doit également avoir une méthode fight() qui exécute la stratégie actuelle.
4. Dans le programme principal (Main), implémenter le scénario suivant :
o Créer un personnage.
o Associer une stratégie par défaut (par exemple, SwordStrategy) et l'exécuter.
o Changer la stratégie en BowStrategy et exécuter.
o Changer la stratégie en MagicStrategy et exécuter.
Critères de réussite :
1. Le programme doit pouvoir changer la stratégie de combat d’un personnage sans le
recréer.
2. Le code doit respecter les principes du design pattern Strategy (séparation entre le
personnage et les stratégies).
3. Les sorties doivent correspondre à la stratégie de combat choisie.
Exemple de sortie attendue :
Combat avec une épée !
Combat avec un arc !