Bonjour à tous,

Je viens vous solliciter parce que je rencontre un gros soucis. Je vous explique, je dois développer un jeu en JAVA qui est le puissance 4 (ça c'est fait). Par contre, le joueur doit pouvoir s'il le souhaite enregistrer sa partie en cours pour la reprendre plus tard. Cette partie doit être enregistrer en format texte. Etant débutant en java, je me suis renseigné un peu partout. J'ai essayé de coder quelque chose, mais ça ne fonctionne pas comme je voudrais.

Voici le code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
 
public class Serializer {
 
    private static final Serializer instance = new Serializer();
 
    private final String chemin = "puissance4.txt";
    private Object IHM;
    IHM i;
 
    private Serializer() {
        super();
    }
 
    public void serialiser(ArrayList<IHM> ihm){
        FileOutputStream fichier=null;
        ObjectOutputStream objet=null;
        try {
                fichier = new FileOutputStream(chemin);
                objet = new ObjectOutputStream(fichier);
                objet.writeObject(IHM);
                objet.flush();
        } 
        catch (FileNotFoundException e) {
                e.printStackTrace();
        } 
        catch (IOException e) {
                e.printStackTrace();
        }
        finally {
                try {
                        if(objet!=null){
                                objet.close();
                        }
                        if(fichier!=null){
                                fichier.close();
                        }
                }
                catch (IOException e) {
                        e.printStackTrace();
                }
        }
 
    }
 
    public ArrayList<IHM> deserialiser(){
		ArrayList<IHM> res = null;
		try {
			FileInputStream fichier = new FileInputStream(chemin);
			ObjectInputStream object = new ObjectInputStream(fichier);
			res = (ArrayList<IHM>) object.readObject();
		}
		catch (java.io.IOException e) {
			e.printStackTrace();
		}
		catch (ClassNotFoundException e) {
			e.printStackTrace();
		}
                i.setVisible(true);
		return res;
	}
 
    public static Serializer getInstance() {
        return instance;
    }
}

J'utilise donc une classe serializer qui me permet d'enregistrer ou de charger une partie. Mon fichier texte est bien crée mais voilà ce que j'obtiens dedans :
"¬íNUL ENQ p" ça fait peu d'info pour voir que je veux enregistrer une partie de jeu.

J'ai surement loupé quelques choses mais je ne sais pas quoi. Je viens donc vous demander votre aide car là, je sèche complètement.

Je vous remercie d'avance.