Bonjour,
Après avoir fait une petite année de C, mon premier langage de programmation, je suis carrément formaté à la prog structurée.
Mes petites fonctions qui font mes petites taches, qui traitent les données etc... C'est clair, net et organisé.
Je me suis lancé dans le C++ il y a peu et j'aime beaucoup le concepte de la POO, j'y vois dessuite beaucoup d'applications, donner des attributs et des méthodes aux objets c'est magnifique MAIS, j'ai un soucis de "réalisation".
Je m'explique rapidement :
Je désire réaliser un mini jeux de combat (en console) suivant (de loins) les règles Advanced Donjon & Dragon pour me faire pratiquer.
Le concept est simple :
Classe:
Personnage
Attribut : (je ne liste que l'interressant)
m_chanceToucher
Methode: (je ne liste que l'interressante)
Personnage::toucher()
Cette méthode tire au hazard 2d12 (deux dés de 12 faces) et applique au résultat une chance au toucher de x points, dépendant de l'arme que mon personnage tient en main (une classe arme existe, avec comme attribut m_modificateurTouche). Si le résultat est > 12 les dégats sont portés à l'adversaire.
Ma question est : dois-je créer une fonction de tirage aléatoire avec en entrée les valeur de dés et face (nombre de dés, et nombre de face)
et ce servir de ce résultat dans ma méthode de classe Personnage.
Ou dois-je m'appliquer à la POO et l'integrer dans ma méthode directement? ce que je trouve contraignant car je dois la réécrire pour chaque Classe qui l'utiliserais. (ce générateur de dés peut servir pour l'utlisation des dégats, des sorts, des montée de niveau, et bien d'autre chose dans un jeu basé sur AD&D).
Je pourrais aussi bien crée un objet "Dés" dont une méthode serait tirage, avec comme attribut face et nombre de tirage (de dés)
Que me conseillez vous si je veux absoluement respecter la philosophie POO?
Lors d'une fonction classique, si je veux l'utiliser dans les méthodes de certaines classes, dois-je faire quelque chose de particulier? (comparer au C, on devait la déclarer avant le main)
Dsl si mes questions semblent absurde, car je n'ai pas finit la totalité des tutos disponibles mais j'aime avancer doucement et surement.
Partager