java doc et reglage probleme win/lose

This commit is contained in:
2026-04-11 21:18:10 +02:00
parent 86ae6b6066
commit 385e201e3f
15 changed files with 516 additions and 286 deletions
+28 -21
View File
@@ -1,8 +1,11 @@
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.*;
import java.awt.*;
/**
* Action déclenchée pour valider les paramètres et générer la grille de jeu.
* Vérifie que les entrées du joueur respectent les règles (entre 4 et 30 cases, etc.).
*/
public class ActionDemarrer implements ActionListener {
private JTextField champLignes;
@@ -11,34 +14,40 @@ public class ActionDemarrer implements ActionListener {
private JFrame cible;
private Menu menuPrincipal;
public ActionDemarrer(JTextField champL,JTextField champC, JTextField champM, JFrame cible, Menu menu) {
this.champLignes = champL;
this.champColonnes = champC;
this.champMines = champM;
this.cible = cible;
this.menuPrincipal = menu;
/**
* Constructeur de l'action de démarrage.
* @param champL Le champ de texte contenant le nombre de lignes.
* @param champC Le champ de texte contenant le nombre de colonnes.
* @param champM Le champ de texte contenant le nombre de mines.
* @param cible La fenêtre de configuration à fermer.
* @param menu Le menu principal à fermer.
*/
public ActionDemarrer(JTextField champL, JTextField champC, JTextField champM, JFrame cible, Menu menu) {
this.champLignes = champL;
this.champColonnes = champC;
this.champMines = champM;
this.cible = cible;
this.menuPrincipal = menu;
}
/**
* Récupère les saisies, les valide et lance la fenêtre de jeu si tout est correct.
* @param e L'événement du clic.
*/
public void actionPerformed(ActionEvent e) {
String sLignes = champLignes.getText();
String sColonnes = champColonnes.getText();
String sMines = champMines.getText();
try {
String sLignes = champLignes.getText();
String sColonnes = champColonnes.getText();
String sMines = champMines.getText();
try {
int l = Integer.parseInt(sLignes);
int c = Integer.parseInt(sColonnes);
int m = Integer.parseInt(sMines);
// Vérife entre 4 et 30 ligne/colonne
if (l < 4 || l > 30 || c < 4 || c > 30) {
System.out.println("Erreur : Les dimensions doivent être comprises entre 4 et 30");
return;
}
// Véérife nb Mines
if (m >= (l * c)) {
System.out.println("Erreur : Le nombre de mines doit être inférieur au nombre de cases !");
return;
@@ -49,8 +58,7 @@ public class ActionDemarrer implements ActionListener {
g.calculerToutesLesMines();
new FenetreJeu(g);
// On ferme les deux fenêtres
cible.dispose();
menuPrincipal.getFenetre().dispose();
@@ -58,5 +66,4 @@ public class ActionDemarrer implements ActionListener {
System.out.println("Erreur : Veuillez entrer des nombres entiers valides");
}
}
}