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.
Partager