Je travaille actuellement sur l'implémentation de capacités spéciales sur les unités (cf mon post sur les wargames tactique).
J'essaye de trouver une solution élégante pour implémenter des méthodes de manière dynamique tout en évitant de surcharger le code.
Celle que j'ai actuellement est d'ailleurs tout sauf élégante...
Voici mon problème.
Chaque unité peut avoir de 0 à n capacité spéciale.
Dans un environnement Objet, ces capacités sont des méthodes permettant de réaliser des actions spécifiques (support aérien, pose de mines, tir de couverture, camouflage, etc).
J'ai vite abandonné l'idée de faire des classes spécifiques héritées de la classe Unité en fonction des capacités spéciales tant la liste et les combinaisons sont grandes.
A coté de ça, je trouve idiot d'implémenter toutes les méthodes de capacités spéciales dans la classe de base alors que chaque unité ne pourra utiliser qu'une partie infime de celles-ci (et c'est sans compter la taille du fichier).
Donc, quelle solution envisageriez vous pour surmonter ce problème et garder un code clair ?
[Edit : changement du titre pour le rendre plus clair]
J'essaye de trouver une solution élégante pour implémenter des méthodes de manière dynamique tout en évitant de surcharger le code.
Celle que j'ai actuellement est d'ailleurs tout sauf élégante...
Voici mon problème.
Chaque unité peut avoir de 0 à n capacité spéciale.
Dans un environnement Objet, ces capacités sont des méthodes permettant de réaliser des actions spécifiques (support aérien, pose de mines, tir de couverture, camouflage, etc).
J'ai vite abandonné l'idée de faire des classes spécifiques héritées de la classe Unité en fonction des capacités spéciales tant la liste et les combinaisons sont grandes.
A coté de ça, je trouve idiot d'implémenter toutes les méthodes de capacités spéciales dans la classe de base alors que chaque unité ne pourra utiliser qu'une partie infime de celles-ci (et c'est sans compter la taille du fichier).
Donc, quelle solution envisageriez vous pour surmonter ce problème et garder un code clair ?
[Edit : changement du titre pour le rendre plus clair]
Quand on te dit qu'un projet est terminé à 90%, prépare toi pour les 90% suivant
Ninety-Ninety Rule
"Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire"
Vu sur IRC
Ninety-Ninety Rule
"Une guerre de religions, c'est quand deux peuples s'entretuent pour savoir qui a le meilleur ami imaginaire"
Vu sur IRC