je sais plus si j'avais push donc pour etre sur

This commit is contained in:
lecointre
2026-04-07 19:34:25 +02:00
parent 4987c35bc4
commit 43cc3c1145
+62
View File
@@ -0,0 +1,62 @@
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JOptionPane;
public class ControleurGrille implements MouseListener {
private FenetreJeu fenetre;
private Grille grille;
public ControleurGrille(FenetreJeu f, Grille g) {
this.fenetre = f;
this.grille = g;
}
@Override
public void mouseClicked(MouseEvent e) {
if (this.grille.isPartieTerminee()) return;
for (int i = 0; i < grille.getLignes(); i++) {
for (int j = 0; j < grille.getColonnes(); j++) {
if (e.getSource() == fenetre.getBouton(i, j)) {
Case caseCliquee = grille.getCase(i, j);
if (caseCliquee.isRevelee()) return;
if (e.getButton() == MouseEvent.BUTTON1) {
if (caseCliquee.getMarqueur() != 1) {
boolean aExplose = grille.revelerCase(i, j);
if (aExplose) {
grille.setPartieTerminee(true);
fenetre.afficherDefaite(i, j);
JOptionPane.showMessageDialog(fenetre, "BOUM ! Vous avez sauté sur une mine !");
// NOUVEAU : On ne quitte plus de force, on change juste le bouton
fenetre.changerBoutonEnRetourMenu();
} else {
fenetre.rafraichirTouteLaGrille();
if (grille.estGagnee()) {
grille.setPartieTerminee(true);
JOptionPane.showMessageDialog(fenetre, "Félicitations ! Vous avez trouvé toutes les mines !");
// NOUVEAU : Idem pour la victoire
fenetre.changerBoutonEnRetourMenu();
}
}
}
}
else if (e.getButton() == MouseEvent.BUTTON3) {
caseCliquee.changerMarqueur();
fenetre.rafraichirCase(i, j);
fenetre.mettreAJourCompteur();
}
return;
}
}
}
}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
}