java doc et reglage probleme win/lose
This commit is contained in:
+27
-18
@@ -4,30 +4,39 @@ import java.io.FileOutputStream;
|
||||
import java.io.ObjectOutputStream;
|
||||
import java.io.IOException;
|
||||
|
||||
/**
|
||||
* Action déclenchée par le bouton pour sauvegarder l'état actuel et fermer le jeu.
|
||||
* Utilise la sérialisation pour écrire l'objet Grille dans un fichier.
|
||||
*/
|
||||
public class ActionSauverQuitter implements ActionListener {
|
||||
|
||||
private Grille grilleASauver;
|
||||
private FenetreJeu jeu;
|
||||
|
||||
public ActionSauverQuitter(Grille g) {
|
||||
this.grilleASauver = g;
|
||||
/**
|
||||
* Constructeur de l'action de sauvegarde.
|
||||
* @param j La fenêtre de jeu contenant la grille à sauvegarder.
|
||||
*/
|
||||
public ActionSauverQuitter(FenetreJeu j) {
|
||||
this.jeu = j;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sérialise la grille si la partie n'est pas terminée, puis quitte le programme.
|
||||
* @param e L'événement du clic.
|
||||
*/
|
||||
public void actionPerformed(ActionEvent e) {
|
||||
try {
|
||||
FileOutputStream fichier = new FileOutputStream("sauvegarde.ser");
|
||||
ObjectOutputStream flux = new ObjectOutputStream(fichier);
|
||||
|
||||
flux.writeObject(grilleASauver);
|
||||
|
||||
flux.close();
|
||||
fichier.close();
|
||||
|
||||
System.out.println("Partie sauvegardée avec succès !");
|
||||
|
||||
System.exit(0);
|
||||
|
||||
} catch (IOException ex) {
|
||||
System.out.println("Erreur lors de la sauvegarde : " + ex.getMessage());
|
||||
if (!jeu.isPartieTerminee()) {
|
||||
try {
|
||||
FileOutputStream fichier = new FileOutputStream("sauvegarde.ser");
|
||||
ObjectOutputStream flux = new ObjectOutputStream(fichier);
|
||||
flux.writeObject(jeu.getGrille());
|
||||
flux.close();
|
||||
fichier.close();
|
||||
System.out.println("Partie sauvegardée avec succès !");
|
||||
} catch (IOException ex) {
|
||||
System.out.println("Erreur lors de la sauvegarde : " + ex.getMessage());
|
||||
}
|
||||
}
|
||||
System.exit(0);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user