Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1047 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] Externaliser les parametres dans un xml

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Externaliser les parametres dans un xml

n°1876413
neokles_62
Posté le 22-04-2009 à 19:35:46  profilanswer
 

Bonjour,
Dans le cadre de mes études, je dois programmer un jeu d'aventure au format textuelle et il m'est demandé d'externaliser les paramètres du jeu dans un fichier xml afin de par exemple, pouvoir définir la répartition sur la carte, en pourcentage, des types des terrains ou la probabilité de trouver un monstre sur chaque unité de la carte.
Ayant plus ou moins fini la partie java, j'aimerais externaliser ces paramètres mais je ne comprends pas vraiment comment faire.
Je pense qu'il faut utiliser la réflexivité mais je ne vois pas vraiment comment.
Merci de bien vouloir m'éclairer.
Ci-dessous la classe GameMapCarre qui permet de générer la carte "manuellement" pour l'instant. Si vous désirez plus d'informations pour pouvoir m'aider, n'hésitez pas à demander.
 

Code :
  1. package etc.map;
  2. import java.util.*;
  3. import Thing.*;
  4. import etc.character.*;
  5. import etc.map.direction.*;
  6. import etc.map.terrain.*;
  7. import etc.policy.*;
  8. public class GameMapCarre<D extends Direction> extends GameMap<DirectionNSEW>{
  9. protected List<Characters<DirectionNSEW>> list ;
  10. public GameMapCarre(){
  11.  this.list= new ArrayList<Characters<DirectionNSEW>>();
  12. }
  13. public void init(HeroCharacter<DirectionNSEW> hero) {
  14.  MapUnit<DirectionNSEW> map= new MapUnit<DirectionNSEW>(Plain.plain);
  15.  MapUnit<DirectionNSEW> map2= new MapUnit<DirectionNSEW>(Forest.forest);
  16.  MapUnit<DirectionNSEW> map3= new MapUnit<DirectionNSEW>(Plain.plain);
  17.  MapUnit<DirectionNSEW> map4= new MapUnit<DirectionNSEW>(Mountain.mountain);
  18.  MapUnit<DirectionNSEW> map5= new MapUnit<DirectionNSEW>(Mountain.mountain);
  19.  MapUnit<DirectionNSEW> map6= new MapUnit<DirectionNSEW>(Mountain.mountain);
  20.  MapUnit<DirectionNSEW> map7= new MapUnit<DirectionNSEW>(Plain.plain);
  21.  map.addNeighbour(DirectionNSEW.north, map2);
  22.  map.addNeighbour(DirectionNSEW.east, map3);
  23.  map.addNeighbour(DirectionNSEW.south, map4);
  24.  map.addNeighbour(DirectionNSEW.west, map5);
  25.  map2.addNeighbour(DirectionNSEW.north, map6);
  26.  map2.addNeighbour(DirectionNSEW.west, map7);
  27.  Pepite pepite = new Pepite();
  28.  map2.addThings(pepite);
  29.  Meat meat = new Meat();
  30.  map.addThings(meat);
  31.  CheeseCake cheesecake = new CheeseCake();
  32.  map.addThings(cheesecake);
  33.  map.addThings(meat);
  34.  map.addCharacter(hero);
  35.  Wizard<DirectionNSEW> wizard = new Wizard<DirectionNSEW>(new Static(),"Gandalf",10000,0);
  36.  map2.addCharacter(wizard);
  37.  Seller<DirectionNSEW> seller = new Seller<DirectionNSEW>(new Static(),"shop",10000,0);
  38.  map3.addCharacter(seller);
  39.  Seller<DirectionNSEW> seller1 = new Seller<DirectionNSEW>(new Static(),"shop",10000,0);
  40.  map.addCharacter(seller1);
  41.  Orc<DirectionNSEW> chubaka = new Orc<DirectionNSEW>
  42.  (new RandomPolicy(),"Chubaka",40,2);
  43.  map.addCharacter(chubaka);
  44.  this.addCharacterList(chubaka);
  45. }
  46. public void addCharacterList(Characters<DirectionNSEW> chubaka){
  47.  this.list.add(chubaka);
  48. }
  49. public List<Characters<DirectionNSEW>> getCharacterList(){
  50.  return this.list;
  51. }
  52. }

mood
Publicité
Posté le 22-04-2009 à 19:35:46  profilanswer
 

n°1876425
el muchach​o
Comfortably Numb
Posté le 22-04-2009 à 20:18:05  profilanswer
 

Utilise la lib open source XStream.

n°1876435
neokles_62
Posté le 22-04-2009 à 20:32:06  profilanswer
 

J'ai eu un cours sur XML/JDOM et les DTD, est-ce que ça serait pas sensiblement la même chose?

n°1876787
liouan
Posté le 23-04-2009 à 14:45:48  profilanswer
 

si tu veux externaliser tes paramètres dans des XML, je te conseilles chaudement la librairie castorXML
 
http://www.castor.org/xml-framework.html
 
jettes un coup d'oeil à cette page, tu constateras à quel point il est facile de stocker des objets dans des fichiers XML et de les récupérer ensuite.
 
Si tu veux utiliser ça, il te suffit donc de voir ta configuration comme un objet. Disons donc que tu crées une classe "Configuration", tu peux persister une instance de cette classe dans un fichier et la récupérer facilement.
 
Attention, ça marche très bien pour les types primitifs et les cascades d'objets mais quand tu as des collections ou des grappes d'objets, y'a du paramétrage à faire


Message édité par liouan le 23-04-2009 à 14:47:36
n°1877940
neokles_62
Posté le 26-04-2009 à 17:18:50  profilanswer
 

Merci bien pour les conseils.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] Externaliser les parametres dans un xml

 

Sujets relatifs
lib Java pour connaitre la charge du CPUChat Java Open source
[java] Une string en arraylist ?Cherche Développeur Java J2EE et/ou .NET
Comment rendre un projet java simple, sous forme d'un plugin eclipse?Environnement Java en dev professionnel ?
Java, servlet et IPv6Script java & scriptaculous
execution externe en javaurgent programmation java
Plus de sujets relatifs à : [Java] Externaliser les parametres dans un xml


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR