Le modèle à 3 couches
Trop souvent, on peut voir des scripts RMXP proposant des systèmes où tous les composants sont tellement imbriqués les uns les autres qu'il devient impossible de modifier quoique ce soit.
Ce que je propose ici est un modèle de développement en 3 couches qui respecte au maximum la manière de procéder dans RMXP, en donnant un maximum d'indépendance à tous ces composants.
Les 3 couches sont :
- une couche de données statiques constituée par la base de données.
- une couche de données dynamiques qui utilisent les données statiques pour l'initialisation, et qui évolue selon la logique propre au système.
- une couche de représentation graphique du système.
Un exemple concret tiré de RMXP pour mieux visualiser les 3 couches est la gestion des différents héros :
- La 1ère couche des données statiques est créée grâce à l'interface de la base de données de RMXP dans l'onglet "Héros". Pour chaque héro est créé un objet RPG::Actor qui contient les données d'initialisation du héro, et qui sera ensuite stocké dans le fichier Data/Actors.rxdata. Ce fichier est ensuite chargé à l'écran titre par
- La 2ème couche est illustrée principalement par les classes Game_Actor qui modélise les héros avec des stats et un équipement qui évoluent au cours du temps et qui possède les fonctionnalités pour manipuler ces stats, Game_Actors qui représente l'ensemble des héros disponibles et Game_Party qui permet de gérer quels héros se trouvent actuellement dans l'équipe.
Observons comment un Game_Actor s'initialise à partir de son identifiant dans la base de données : on commence tout d'abord par récupérer l'objet RPG::Actor correspondant par
puis on utilise cet objet pour initialiser les données du Game_Actor.
- La 3ème couche est représenté par toutes les scènes du menu de base. Scene_Status donne un aperçu global des stats et de l'équipement d'un objet Game_Actor, Scene_Skills permet de voir et d'utiliser ses techniques, et Scene_Equip permet de manipuler son équipement en se servant des fonctionnalités de l'objet.
Nous allons nous servir de ce modèle en 3 couches pour concevoir et créer un système de quêtes basique, ayant les caractéristiques suivantes :
- Une quête a un nom, une description, et rapporte une fois accomplie une somme d'argent et de l'expérience au groupe.
- Le groupe reçoit des quêtes. On doit pouvoir faire la distinction entre une quête en cours et terminée.
- Par dessus ce système, on créera une Scene qui permettra d'avoir la liste des quêtes en cours et terminées, ainsi que leurs caractéristiques.
Page vue 1538 fois | Auteur : Samarium

