-
Aide projet jeu de rôle
Salut à tous,
Je réalise actuellement un petit jeu de combat en mode textuel mais je bloque au niveau de l'agencement des classes / interfaces / Héritage.
Je vous explique le principe : On part d'un choix de Héros : Princesse ou Chevalier, puis ce dernier doit vaincre en combat plusieurs Monstres ( Orc ou Lutin ) avant de terminer le jeu.
Chaque classe de personnage ( Lutin, Chevalier..etc) est définie par des caractéristiques propres à chacun ( Endurance,santé, saleté, beauté...etc), ainsi que des armes spécifiques (coup de batte pour l'orc , coup d épée pour le chevalier...etc).
Supposons, donc, qu'un joueur choisit son héros (Princesse ou Chevalier) et que le jeu commence.
Des évènements se produisent pour aider le joueur à terminer le jeu... genre il trouve une potion de santé/endurance , il se bat contre un Lutin...etc
Chaque Événement doit donc définir la façon avec laquelle il se produit, et doit annoncer sa manifestation.
En combat, chaque entité attend son tour pour jouer, le héros qui commence toujours en premier, doit choisir parmi ses armes puis attaquer. Le monstre (l'ordinateur) réplique de la même manière, jusqu'à qu'un des 2 meurt ( santé < 0 ).
Coté technique : j'ai donc crée une classe abstraite nommée "Entité" qui rassemble les informations générales sur les perso (caractéristiques, etatSanté(), étatEndu(), toString()).
2 classes abstraites Héros / Monstres qui héritent de la classe mère Entité :
comprennent respectivement les méthodes : rugir() et gifler()
Puis toutes les classes de personnages décrivant leur caractéristiques et leurs méthodes propres.
La où je bloque : Je dois avoir une classe Evènement et une classe Combat.
Dans ma tête, Combat est une interface car chaque classe de perso doit reprendre ses méthodes(coup d épée , coup de batte) "à sa sauce" (pas clair dans ma tête non plus :/).
Et Evènement est une classe publique, car je dois définir chaque évènement et le présenter...
Je vous remercie déjà d'avoir lu jusqu'ici, et vous demande : comment organiser mon projet ?
Merci d'avance.
-
* Une interface Competence avec des méthodes génériques dont une qui s'appellerait attaquer().
* Deux classes qui implémentent Competence qui sont Rugir et Gifler.
Le monstre a comme propriété un objet Competence rugir = new Rugir(); et le héros un objet Competence gifler = new Gifler();
Il suffira de faire respectivement rugir.attaquer() ou gifler.attaquer().
C'est une réponse un peu brouillon j'éditerai ce soir quand je rentrerai du taf.
Cela va te simplifier la partie Combat.
A+
-
Je rencontre un problème.
Je définis des méthodes de combat dans mes différentes classes.
Mais lorsque je les appelle sur des objets dans une fonction main, mes méthodes ne modifient pas directement mes objets....
Le problème vient surement du fait que dans mes méthodes, les variables utilisées sont détruites à la fin(variables locales), donc comment faire un passage "par référence" ?
Que dois je changer dans mes méthodes ?
Merci d'avance.