sportjc69
Messages postés2Date d'inscriptionjeudi 27 décembre 2007StatutMembreDernière intervention28 décembre 2007
-
27 déc. 2007 à 19:49
sportjc69
Messages postés2Date d'inscriptionjeudi 27 décembre 2007StatutMembreDernière intervention28 décembre 2007
-
28 déc. 2007 à 10:40
Bonjour, j'ai un gros TP pour la rentré et j'ai un problème car on me demande de faire un jeu, ça c'est fait, mais il faut que j'enregistre la partie et j'ai entendu d'une methode serializer mais ou faut-il la mettre, dans la classe que l'on souhaite enregistrer? merci d'avance
Ombitious_Developper
Messages postés2333Date d'inscriptionsamedi 28 février 2004StatutMembreDernière intervention26 juillet 201338 27 déc. 2007 à 20:25
Salut:
Pour pouvoir restituer une partie, il faut enregistrer (sérialiser) les paramètres qui décrivent parfaitement cette partie du jeu à savoir:
1. Les informations liées au joueur (nom, score, ....)
2. Les informations liées à l'environnement du jeu (temps écoulé, niveau de difficulté, ...)
C'est à toi de décider quels paramètres doivent être enregistrés et qui sont vitales pour pouvoir charger cette partie plus tard avec le même environnement.
Sauvegarder ces paramètres un à un dans un fichier n'est pas une bonne idée, par ce que Java offre une alternative plus efficace; C'est le mécanisme de Sérialisation qui permet de sauvegarder un objet.
public class Game implements Serializable {
private long elapsedTime;
private String player;
// ...
}
// Enregistrer la partie dans un fichier "game.save" Game game = ...;
ObjectOutStream oos = new ObjectOutputStream(new FileOutputStream("game.save"));
oos.write(game);
// Restituer la partie à par du fichier "game.save"
ObjectInputStream ois = new ObjectInputStream(new FileInputStream("game.save"));
Game game = (Game)ois.read();
Il faut voir un cours sur le mécanisme de sérialisation en Java, ça va pas prendre plus que d'une demi-heure au pire des cas.