Vous n'êtes pas connecté. Connexion
|
|
TP1 : Le patron ObserverDe $1Table des matières
Introduction exhaustive au projetL'objectif de ce TP est de vous familiariser avec le projet "creatureSimulator" et de vous apprendre à implémenter un pattern Observer. Pour cela nous vous proposons de prendre en main le projet "creatureSimulator". Ce projet vise à créer un environnement de simulation pour des créatures. L'archive que nous vous donnons contient les 4 packages principaux du projet (décrit ci-dessous) et un package contenant une classe de lancement de la simulation :
Nous décrivons dans la suite l'ensemble des classes et interfaces du projet représentés dans la figure ci-dessous. Package visualCe package contient les informations permettant de créer une fenêtre de visualisation pour le simulateur. Il contient les fichiers suivants :
IDrawableCette interface définit un type d'objet représentable dans la fenêtre de visualisation et les méthodes que ce type d'objet doit implémenter. En particulier un tel objet doit pouvoir donner sa couleur, sa taille et définir une méthode VisualizerCette classe abstraite donne les principales méthodes permettant de représenter la fenêtre de visualisation. En outre, la classe définit également la signature d'une méthode abstraite permettant de récupérer un ensemble d'objet de type IDrawable ou hérités : Notez que les méthodes données ici sont implémentées pour gérer toutes les questions de positionnement dans le cadre du projet, vous n'aurez jamais à vous en soucier. Package creatureCe package contient l'ensemble des informations pour la manipulation (la simulation) des créatures. Il contient les fichiers suivants :
ICreatureCette interface définit les méthodes qu'une créature doit exposer pour donner son environnement, sa vitesse, sa direction et sa position. ICreature hérite de l'interface IActionable (voir package simulator) : une créature peut être simulée au sein du moteur de simulation. Elle hérite également de l'interface IDrawable (voir package visual) : une créature peut être représentée à l'écran. AbstractCreatureUne créature possède tous les attributs qui lui permettent de se positionner dans un environnement ( Elle possède également deux méthodes protégées (et donc accessibles dans les classes héritées) pour se mouvoir (move Enfin, une méthode permettant de dessiner la créature (selon sa taille et son champ de vision) est également fournie ( |
Powered by MindTouch Deki Open Source Edition v.8.08 |