21-11-2009, 01:48 PM
(21-11-2009, 01:32 PM)Ter Rowan a écrit : globalement. Il y aurait une classe action "racine" donc les autres hériteraient, mais le fait de faire une super grosse classe qui gère tout (exemple soigner une personne, fuir, frapper avec une arme, soigner tout le monde, lancer un sort sur cible unique, lancer un sort sur cibles multiples, lancer une grenade, etc...) ferait un code assez illisible et inmaintenable pour tout prendre en compte, d'où cette notion de spécialisation de diverses
classes héritant d'une globale
Ok, je vois pourquoi ne pas faire une classe globale pour toutes les actions. Mais pourquoi pas une classe pour tous les même type d'action, plutôt qu'une classe par action comme cela semble être le cas ici ? (En plus clair une classe a qui tu pourrais successivement passer des personnages pour réaliser la meme action)
Parce que si j'ai bien compris, si le personnage doit faire une action1 alors tu crées une instance de la classe action1 dédiée à ce personnage, mais si il fait 4 fois une action1 ? Ou si 4 personnages différents doivent faire une action1 ? ça donnera 4 instances différentes ?
Apres j'ai pas vraiment l'habitude des patterns, je code plus par expérience. ^^ Donc mon résultat n'est surement pas très académique mais dans ce genre de cas j'aurais fait une classe action super balaise qui contiendrait toutes les actions. Ce serait une classe utilitaire.
Chaque action possible serait si possible une fonction et lors du parcours des actions à réaliser je ferais des appels $ma_classe_action->$type_action($le_personnage);
Mais bon là j'ai un peu du mal à voir ce que tu attends. ^^