La couche de données statiques
On crée tout d'abord un nouvelle classe pour la base de données qui va permettre de stocker les données des quêtes.
Le problème, c'est que contrairement à la base de données de base, il n'existe pas d'interface graphique pour créer et gérer la base de données des quêtes.
Une solution souvent adoptée et pourtant horrible conceptuellement, est de coder la base de données en Ruby à l'intérieur des scripts.
- Cela oblige ceux qui réalisent la base de données à apprendre les rudiments du Ruby.
- On se retrouve avec une trop grande imbrication des composants, ce qui rend plus difficile le travail en équipe : il va y avoir un décalage problématique entre l'état des scripts du scripteur, sans la base de données, et celui du chef d'équipe qui contient la base de données ; à chaque fois que le scripteur donne son Scripts.rxdata, le chef de projet devra faire attention à ne pas supprimer sa base de données en remplaçant son fichier Scripts.rxdata.
Une solution beaucoup plus propre est de fournir une interface pour celui qui réalise la base de données, mais pas nécessairement une interface graphique. Utiliser des fichiers texte par exemple est une bonne alternative. Voyons ce que cela peut donner dans notre système de quêtes.
A la racine du jeu, on créera un nouveau dossier "Quests Data" qui contiendra des fichiers texte de la forme :
id : <un nombre>
name : <un nom>
description : <une description>
gold : <une somme d'argent>
exp : <une quantité d'expérience>
A partir de ses fichiers texte, on va créer des objets RPG::Quest qui seront stockés dans le fichier Data/Quests.rxdata. Au moment de crypter le jeu, il ne restera plus qu'à enlever le dossier "Quests Data", et seul le fichier Data/Quests.rxdata sera crypté avec le jeu, gardant ainsi secret la base de données de quêtes.
Voyons comment coder cela :
Page vue 2510 fois | Auteur : Samarium

