diff --git a/src/fr/monkhanny/dorfromantik/game/Board.java b/src/fr/monkhanny/dorfromantik/game/Board.java index 442c9fc..3966699 100644 --- a/src/fr/monkhanny/dorfromantik/game/Board.java +++ b/src/fr/monkhanny/dorfromantik/game/Board.java @@ -20,7 +20,13 @@ import java.awt.*; /** * Représente le plateau de jeu. + * Représente le plateau de jeu, gérant les tuiles, les positions disponibles, + * le zoom, les déplacements, et l'interaction avec l'utilisateur. + * + * @version 1.0 + * @author Moncef STITI, Lenny FOULOU, Khalid CHENOUNA */ + public class Board extends JPanel{ private List tiles; private List availablePositions; diff --git a/src/fr/monkhanny/dorfromantik/game/Cell.java b/src/fr/monkhanny/dorfromantik/game/Cell.java index 51a6045..73a1855 100644 --- a/src/fr/monkhanny/dorfromantik/game/Cell.java +++ b/src/fr/monkhanny/dorfromantik/game/Cell.java @@ -6,6 +6,8 @@ import javax.swing.*; /** * Représente une cellule de base sur le plateau de jeu. * C'est la classe parente pour la classe Tile. + * @version 1.0 + * @author Lenny FOULOU, Khalid CHENOUNA */ public class Cell extends JComponent { private Board board; // Le plateau de jeu auquel cette cellule appartient diff --git a/src/fr/monkhanny/dorfromantik/game/CustomKeyAdapter.java b/src/fr/monkhanny/dorfromantik/game/CustomKeyAdapter.java index 2c57513..00a3a5d 100644 --- a/src/fr/monkhanny/dorfromantik/game/CustomKeyAdapter.java +++ b/src/fr/monkhanny/dorfromantik/game/CustomKeyAdapter.java @@ -6,18 +6,20 @@ import java.awt.event.KeyEvent; /** * Classe CustomKeyAdapter, un écouteur personnalisé pour gérer les entrées clavier sur le plateau de jeu. * Permet de réagir aux touches pressées pour effectuer des actions spécifiques dans le jeu. + * @version 1.0 + * @author Khalid CHENOUNA */ public class CustomKeyAdapter extends KeyAdapter { private Board board; /** * Constructeur de CustomKeyAdapter. * - * @param board le plateau de jeu associé à cet écouteur - */ + @param board le plateau de jeu associé à cet écouteur + */ public CustomKeyAdapter(Board board) { this.board = board; } - /** + /** * Gère les événements de touche pressée. * Si la touche 'T' est pressée, cette méthode bascule la visibilité du menu de contrôle. * diff --git a/src/fr/monkhanny/dorfromantik/game/CustomMouseMotionAdapter.java b/src/fr/monkhanny/dorfromantik/game/CustomMouseMotionAdapter.java index 86a5941..b52f0ca 100644 --- a/src/fr/monkhanny/dorfromantik/game/CustomMouseMotionAdapter.java +++ b/src/fr/monkhanny/dorfromantik/game/CustomMouseMotionAdapter.java @@ -5,6 +5,8 @@ import java.awt.event.MouseEvent; /** * Classe CustomMouseMotionAdapter, un écouteur personnalisé pour gérer les mouvements de souris * sur le plateau de jeu. Permet de transmettre les événements de mouvement de la souris au plateau. + * @version 1.0 + * @author Lenny FOULOU, Khalid CHENOUNA */ public class CustomMouseMotionAdapter extends MouseMotionAdapter { private Board board; diff --git a/src/fr/monkhanny/dorfromantik/game/EscapeMenu.java b/src/fr/monkhanny/dorfromantik/game/EscapeMenu.java index a6ab615..2616474 100644 --- a/src/fr/monkhanny/dorfromantik/game/EscapeMenu.java +++ b/src/fr/monkhanny/dorfromantik/game/EscapeMenu.java @@ -6,12 +6,27 @@ import javax.swing.*; import java.awt.*; import java.awt.event.ActionListener; +/** + * Classe représentant le menu d'échappement (pause) dans le jeu. + * Fournit une interface utilisateur permettant de reprendre le jeu, accéder aux paramètres ou quitter vers le menu principal. + * + * @version 1.0 + * @author Khalid CHENOUNA + */ + public class EscapeMenu extends JFrame { private JButton resumeButton; private JButton mainMenuButton; private JButton settingsButton; + /** + * Constructeur de la fenêtre du menu d'échappement. + * + * @param gameFrame La fenêtre principale du jeu (parent). + * @param game L'instance du jeu en cours. + */ + public EscapeMenu(JFrame gameFrame, Game game) { // Paramétrer la fenêtre de la pause setTitle("Menu de Pause"); @@ -57,6 +72,13 @@ public class EscapeMenu extends JFrame { setVisible(true); // Afficher la fenêtre } + /** + * Méthode utilitaire pour créer un bouton stylisé. + * + * @param text Le texte à afficher sur le bouton. + * @return Un bouton configuré. + */ + private JButton createButton(String text) { JButton button = new JButton(text); button.setFont(new Font("Tahoma", Font.PLAIN, 18)); @@ -68,18 +90,42 @@ public class EscapeMenu extends JFrame { return button; } + /** + * Définit un écouteur d'événement pour le bouton "Reprendre". + * + * @param listener L'écouteur d'événement à associer. + */ + public void setResumeButtonListener(ActionListener listener) { resumeButton.addActionListener(listener); } + /** + * Définit un écouteur d'événement pour le bouton "Quitter". + * + * @param listener L'écouteur d'événement à associer. + */ + public void setQuitButtonListener(ActionListener listener) { mainMenuButton.addActionListener(listener); } + /** + * Définit un écouteur d'événement pour le bouton "Paramètres". + * + * @param listener L'écouteur d'événement à associer. + */ + public void setSettingsButtonListener(ActionListener listener) { settingsButton.addActionListener(listener); } + /** + * Modifie la visibilité du menu d'échappement. + * + * @param visible {@code true} pour afficher le menu, {@code false} pour le masquer. + */ + public void setMenuVisible(boolean visible) { setVisible(visible); }