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

  FORUM HardWare.fr
  Programmation
  Java

  Faire une sauvegarde d'un jeu

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Faire une sauvegarde d'un jeu

n°2001155
fashion-ba​stou
Posté le 12-06-2010 à 18:39:27  profilanswer
 

Bonjour a tous,
 
Voila je me lance dans la sauvegarde d'un jeu que que j'ai créer à 90% dans le cadre de mes études.
 
Je veux sauvegarder la salle courante du joueur ainsi que les objets qu'il possède voici les bouts de code en question
 
Item

Code :
  1. public class Item
  2. {
  3.     public String description;
  4.     public double weight;
  5. /**
  6. * Constructeur
  7. */
  8. public Item(double weight, String description)
  9.     {
  10.         this.description = description;
  11.         this.weight = weight;
  12.     }
  13.    
  14. /**
  15. * Accesseure
  16. */   
  17.  
  18. public String getDescription()
  19. {
  20.     return description;
  21. }
  22. public double getWeight()
  23. {
  24.     return weight;
  25. }
  26. }


 
meme style pour les salles.
 
La gestion des commandes s'effectue dans ma classe principale  
 

Code :
  1. else if (commandWord.equals("sauvegarder" ))
  2.             sauvegarder();


 
Je voudrai donc une méthode public void sauvegarder() qui me permette de sauver tout cela
 
je me suis renseigner sur la sérialization ici
 
http://www.siteduzero.com/tutoriel [...] #ss_part_3
 
mais le problème c'est le  throws FileNotFoundException qui me renvoi un incompatibilité avec  
 

Code :
  1. public void actionPerformed(ActionEvent e)


 
Merci a tous
 
bastien
 

mood
Publicité
Posté le 12-06-2010 à 18:39:27  profilanswer
 

n°2001224
Jubijub
Parce que je le VD bien
Posté le 13-06-2010 à 00:23:35  profilanswer
 

poste ton code qui pose problème... (ie l'implémentation de ta méthode sauvegarder())


---------------
Jubi Photos : Flickr - 500px
n°2001244
fashion-ba​stou
Posté le 13-06-2010 à 10:28:54  profilanswer
 

j'ai pas mal avancé depuis, je suis parti sur la  base d'un fichier texte.
 
dedans j'écris ma salle courante puis je saute à la ligne et à chaque objet espacé d'un saut à la ligne
 

Code :
  1. public void sauvegarder()
  2.     {
  3.         // Crée un fichier texte
  4.          try{
  5.                 PrintWriter ecri = new PrintWriter(new FileWriter("sauvegarde.txt" ));
  6.                 ecri.print(play.getcurrentRoom() + System.getProperty("line.separator" ));
  7.                 ecri.print(play.getItems_sauv());
  8.                 ecri.flush();
  9.                 ecri.close();
  10.             }
  11.             catch (java.io.IOException e) {e.printStackTrace();}
  12.     }
  13.    
  14.    
  15.     public void charger()
  16.     {
  17.        BufferedReader lect ;
  18.  try
  19.  {
  20.   lect = new BufferedReader(new FileReader("sauvegarde.txt" )) ;
  21.   play.enterRoom(lect.readLine());
  22.   while (lect.ready()==true)
  23.   {
  24.    interpretCommand(lect.readLine());
  25.   }//while
  26.  }//try
  27.  catch (NullPointerException a)
  28.  {
  29.   System.out.println("Erreur : pointeur null" );
  30.  }
  31.  catch (IOException a)
  32.  {
  33.   System.out.println("Problème d'IO" );
  34.  }
  35. }//lecture


 
Le problème est maintenant le chargement, je récupère bien la bonne pièce cependant en fesant lect.readLine() je récupère un String comment puis je convertir en objet Room??
 
merci pour ton aide

n°2001245
esox_ch
Posté le 13-06-2010 à 10:34:03  profilanswer
 

http://www.exampledepot.com/egs/ja [...] zeObj.html
 
1er lien sur google avec "deserialize java"
 
Faut un peu chercher quand même avant de poser des questions ..


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°2001253
fashion-ba​stou
Posté le 13-06-2010 à 11:07:55  profilanswer
 

Merci, j'ai trouvé cette page avant,  
 

Code :
  1. public void charger()
  2.     {
  3.        BufferedReader lect ;
  4.         try
  5.         {
  6.             FileInputStream fichier = new FileInputStream("sauv.tmp" );
  7.             ObjectInputStream ois = new ObjectInputStream(fichier);
  8.             Room load = (Room) ois.readObject();
  9.            
  10.            gui.print(play.getcurrentRoom().toString());
  11.            gui.print(load.toString());
  12.            play.enterRoom(load);
  13.            gui.print(play.getcurrentRoom().toString());
  14.          
  15.            
  16.         }//try
  17.         catch (java.io.IOException e)
  18.         {
  19.             e.printStackTrace();
  20.         }
  21.         catch (ClassNotFoundException e)
  22.         {
  23.             e.printStackTrace();
  24.         }
  25.     }//lecture


 
Lorsque je récupère mon object, je le cast de type Room le problème est que lorsque je charge dans une salle X, ma salle courante est vu comme étant salle X une fois que j'ai fais enterRoom qui permet de changer de salle, je reste dans ma salle X mais la si je getcurrentRoom, il me renvoi la salle load mais sans changement de salle
 
Merci bastien


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

  Faire une sauvegarde d'un jeu

 

Sujets relatifs
Sauvegarde SQLfaire une sauvegarde dans un repertoire nommé avec la date en .bat
Macro Sauvegarde avec mot de passe[Résolut] Sauvegarde et chargement d'une arbre un peu particulier.
Generateur Password + Sauvegarde MYSQLSauvegarde automatique selective EXCEL
Sauvegarde de la fenêtre d'application en bmp ou jpg[VB.NET] Sauvegarde en fichier xml
[BO WEBI] Sauvegarde 
Plus de sujets relatifs à : Faire une sauvegarde d'un jeu


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