|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre émérite
![]() Inscription : février 2009 Messages : 563 ![]() |
Bonsoir à tous,
Je bloque actuellement sur un projet. Tout d'abord commençons par la structure. J'ai réparti mes fichiers dans 5 dossiers :
A la racine du projet, j'ai le main et le makefile. Le main crée l'objet ui_main_menu et appelle la méthode run() de cet objet qui va boucler sur le menu principale. Pour chaque option du menu (sauf quitter) il y a un menu correspondant. Vu que les menus se répétaient, j'ai codé un objet qui crée des menus. ui_menu contient la méthode register_action(nom de l'action, action). Une action est donc un objet menu qui hérite de la classe action. Le menu principal est constitué de ces choix :
Mais je n'arrive pas à choisir un "design" pour ces 2 menus. Ces deux objets appellent un contrôleur, est-ce que ce contrôleur va être le même pour ces deux objets menu (normalement il le faut car ces 2 menus appellent un nouveau menu objet ui_maze en passant en paramètre le contrôleur) ? Je pensais mettre le même et implémenter deux méthodes load_file(path) et generate(). load_file() utiliserait vraisemblablement un objet de la couche data pour récupérer le labyrinthe. Mais il faudra aussi que ce contrôleur implémente des méthodes pour récupérer le labyrinthe (par exemple get_point(x,y), get/set_<caractéristique d'un point>(x,y) voir "chaine de caractère get_labyrinthe(x,y)" puis encore bien d'autre pour manipuler la position courante, etc.). Je me demande maintenant qui doit faire la traduction noeud du labyrinthe en ASCII. Le contrôleur ? En tout cas, ça poserait problème si c'était l'UI car elle manipulerait des objets métiers. Il y a toujours quelque chose qui me gène, c'est le fait de n'avoir que un contrôleur pour toutes ces méthodes... Je pense qu'il me manque un outil et je n'arrive pas à mettre la main dessus. N'hésitez pas à me dire ce qui ne va pas, même les détails si vous en avez l'envie. Merci pour votre aide. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com