[Résolu] Comment bien structurer mes classes ?

Comment bien structurer mes classes ? [Résolu] - C++ - Programmation

Marsh Posté le 16-06-2009 à 12:51:08    

Hello,
j'ai comme projet de coder un petit Roguelike en C++ avec ncurses. Il s'agit d'un RPG minimaliste en console. Voici le screen d'un Roguelike pour vous donner une idée :
 
http://www.siteduzero.com/uploads/fr/files/174001_175000/174488.png
 
'@' : le personnage que vous dirigez.
 
La première étape de mon projet est de faire un truc très simple : affichage du donjon, et possibilité de se déplacer dedans. Plus tard j'essaierais d'ajouter des ennemies, des combats, des objets, etc.
Pour le moment je réfléchi au découpage de mon code en classes... et j'ai déjà quelques problèmes. Voila ce que je comptais faire :

Citation :

class Joueur
attributs : une position, et un char qui correspond à l'affichage du joueur.
méthodes : pouvoir déplacer le joueur dans toutes les directions + constructeur, accesseur, etc.
class Terrain
attribut : un tableau à deux dimensions de char.
méthodes : générer terrain, afficher terrain + constructeur, accesseur, etc.


Les classes Terrain et Joueur sont complètement séparé. Hors pour savoir si je peux déplacer le joueur, j'ai besoin d'avoir le terrain. Et pour afficher le terrain j'ai besoin de connaître la positions du joueur. Il faudra donc passer le Terrain en paramètre pour déplacer le joueur, et le Joueur en paramètre pour l'affichage. Je délire peut être, mais je ne trouve pas cela très jolie... Que faire pour améliorer les choses ?
J'ai eu une autre idée, mais pas sur qu'elle soit beaucoup mieux : rajouter à la classe Terrain un attribut Joueur et des méthodes pour déplacer le joueur.
 
Donc pour résumer : comment bien organiser mes classes pour que le tout soit le plus "propre" possible. Sachant que par la suite je compte rajouter (si tout ce passe bien ^^) des ennemies (qui se déplacent sur le terrains, qui attaquent le joueur), des objets, etc.
 
J'espère avoir été clair...
Merci d'avance pour votre aide !


Message édité par magicpotu le 17-06-2009 à 00:25:11
Reply

Marsh Posté le 16-06-2009 à 12:51:08   

Reply

Marsh Posté le 16-06-2009 à 13:00:58    

Il te faut une classe Jeu qui contient les terrains et le joeurs. Cette classe à une methode udpae et draw qui met a jour le monde et l'affiche en fonction des données Joueur et Terrains. A aucun moment Joueur et errain ne doivent avoir besoin de se parler sans passer par Jeu

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed