diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameModePrevButtonActionListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameModePrevButtonActionListener.java index 1abdfa5..244642d 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameModePrevButtonActionListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameModePrevButtonActionListener.java @@ -4,14 +4,33 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import fr.monkhanny.dorfromantik.gui.GameModeSelectionPanel; - +/** + * @version 1.0 + * @author Lenny FOULOU + * Listener pour gérer les clics sur le bouton "Précédent" dans le panneau de sélection du mode de jeu. + * Cette classe permet de naviguer vers la page précédente des séries disponibles dans le panneau. + */ public class GameModePrevButtonActionListener implements ActionListener { + /** + * Le panneau de sélection du mode de jeu. + */ private GameModeSelectionPanel panel; + /** + * Constructeur pour initialiser le listener avec le panneau de sélection du mode de jeu. + * + * @param panel le panneau de sélection du mode de jeu sur lequel agir. + */ public GameModePrevButtonActionListener(GameModeSelectionPanel panel) { this.panel = panel; } - + /** + * Méthode appelée lorsqu'une action est déclenchée, comme un clic sur le bouton "Précédent". + * Elle vérifie si la page actuelle est supérieure à 1 et, dans ce cas, passe à la page précédente + * et charge les séries associées à cette page. + * + * @param e l'événement de l'action déclenchée. + */ @Override public void actionPerformed(ActionEvent e) { if (panel.getCurrentPage() > 1) { diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameMouseClickListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameMouseClickListener.java index ddb2361..18cb519 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameMouseClickListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameMouseClickListener.java @@ -3,14 +3,32 @@ package fr.monkhanny.dorfromantik.listeners; import fr.monkhanny.dorfromantik.game.Board; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; - +/** + * @version 1.0 + * @author Moncef STITI + * Listener pour gérer les événements de clics de souris dans le jeu. + * Cette classe permet d'appeler la méthode appropriée du plateau de jeu + * lorsqu'un clic de souris est effectué. + */ public class GameMouseClickListener extends MouseAdapter { + /** + * Le plateau de jeu sur lequel les clics de souris sont traités. + */ private Board board; - + /** + * Constructeur pour initialiser le listener avec le plateau de jeu. + * + * @param board le plateau de jeu sur lequel gérer les clics de souris. + */ public GameMouseClickListener(Board board) { this.board = board; } - + /** + * Méthode appelée lorsqu'un clic de souris est détecté sur le plateau de jeu. + * Elle délègue le traitement du clic à la méthode {@code handleMouseClick} du plateau. + * + * @param e l'événement du clic de souris. + */ @Override public void mousePressed(MouseEvent e) { board.handleMouseClick(e); diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameMouseWheelListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameMouseWheelListener.java index 498d48f..853e996 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameMouseWheelListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameMouseWheelListener.java @@ -4,15 +4,34 @@ import fr.monkhanny.dorfromantik.game.Board; import java.awt.event.MouseWheelEvent; import java.awt.event.MouseWheelListener; - +/** +* @version 1.0 + * @author Moncef STITI + * Listener pour gérer les événements de la molette de la souris dans le jeu. + * Cette classe permet de faire pivoter la prochaine tuile sélectionnée sur le plateau + * lorsque la molette de la souris est utilisée. + */ public class GameMouseWheelListener implements MouseWheelListener { + /** + * Le plateau de jeu sur lequel les actions sont effectuées. + */ private Board board; - - // Constructeur de la classe + /** + * Constructeur pour initialiser le listener avec le plateau de jeu. + * + * @param board le plateau de jeu sur lequel effectuer les rotations de tuiles. + */ public GameMouseWheelListener(Board board) { this.board = board; } - + /** + * Méthode appelée lorsqu'un événement de la molette de la souris est détecté. + * Si une tuile suivante existe sur le plateau, cette méthode applique une rotation + * à la tuile, dans le sens horaire ou antihoraire en fonction de la direction de la molette. + * Après la rotation, le plateau est redessiné. + * + * @param e l'événement de la molette de la souris. + */ @Override public void mouseWheelMoved(MouseWheelEvent e) { if (board.getNextTile() != null) { diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameQuitButtonListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameQuitButtonListener.java index 6334b2e..7e8045f 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameQuitButtonListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameQuitButtonListener.java @@ -3,13 +3,25 @@ package fr.monkhanny.dorfromantik.listeners; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; - +/** + * @version 1.0 + * @author Khalid CHENOUNA + * Listener pour gérer la fermeture du jeu lorsque le bouton "Quitter" est cliqué. + * Cette classe termine l'exécution de l'application. + */ public class GameQuitButtonListener implements ActionListener { - + /** + * Constructeur par défaut pour initialiser le listener. + */ public GameQuitButtonListener() { } - + /** + * Méthode appelée lorsqu'une action est déclenchée, comme un clic sur le bouton "Quitter". + * Cette implémentation termine immédiatement l'exécution de l'application. + * + * @param e l'événement de l'action déclenchée. + */ @Override public void actionPerformed(ActionEvent e) { // Quitter diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameResumeButtonListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameResumeButtonListener.java index dd3daa1..6eb8742 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameResumeButtonListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameResumeButtonListener.java @@ -5,14 +5,31 @@ import java.awt.event.ActionListener; import fr.monkhanny.dorfromantik.Options; import fr.monkhanny.dorfromantik.game.EscapeMenu; - +/** +* @version 1.0 + * @author Khalid CHENOUNA + * Listener pour gérer la reprise du jeu lorsque le bouton "Reprendre" est cliqué dans le menu d'échappement. + * Cette classe permet de masquer le menu de pause et de remettre le jeu dans un état actif. + */ public class GameResumeButtonListener implements ActionListener { + /** + * Le menu d'échappement (menu pause) qui doit être masqué lorsque le jeu reprend. + */ private EscapeMenu escapeMenu; - + /** + * Constructeur pour initialiser le listener avec le menu d'échappement. + * + * @param escapeMenu le menu d'échappement à masquer. + */ public GameResumeButtonListener(EscapeMenu escapeMenu) { this.escapeMenu = escapeMenu; } - + /** + * Méthode appelée lorsqu'une action est déclenchée, comme un clic sur le bouton "Reprendre". + * Elle masque le menu d'échappement et remet le jeu en état actif en désactivant le mode pause. + * + * @param e l'événement de l'action déclenchée. + */ @Override public void actionPerformed(ActionEvent e) { // Cacher le menu de pause diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameSettingsButtonListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameSettingsButtonListener.java index e6eae2d..bf4bb46 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameSettingsButtonListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameSettingsButtonListener.java @@ -7,12 +7,37 @@ import fr.monkhanny.dorfromantik.gui.SettingsPanel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; - +/** + * @version 1.0 + * @author Khalid CHENOUNA + * Listener pour gérer l'ouverture de la fenêtre des paramètres lorsqu'un bouton est cliqué. + * Ce listener cache le menu d'échappement (escape menu), affiche une nouvelle fenêtre avec + * les paramètres, et configure cette fenêtre pour revenir à la fenêtre principale du jeu + * lorsqu'elle est fermée. + */ public class GameSettingsButtonListener implements ActionListener { + /** + * La fenêtre principale du jeu. + */ private JFrame gameFrame; + /** + * La fenêtre dédiée aux paramètres. + */ private JFrame settingsFrame; + /** + * Le panneau contenant les options de configuration. + */ private SettingsPanel settingsPanel; + /** + * Le menu d'échappement (menu pause) qui doit être caché lorsque les paramètres sont affichés. + */ private EscapeMenu escapeMenu; + /** + * Constructeur pour initialiser le listener avec la fenêtre principale et le menu d'échappement. + * + * @param gameFrame la fenêtre principale du jeu. + * @param escapeMenu le menu d'échappement (menu pause) à cacher lorsque la fenêtre des paramètres s'affiche. + */ public GameSettingsButtonListener(JFrame gameFrame, EscapeMenu escapeMenu) { this.gameFrame = gameFrame; @@ -24,7 +49,13 @@ public class GameSettingsButtonListener implements ActionListener { // Ajouter le WindowListener pour réafficher la gameFrame lors de la fermeture de settingsFrame this.settingsFrame.addWindowListener(new GameSettingsWindowListener(gameFrame)); } - + /** + * Méthode appelée lorsqu'une action est déclenchée, comme un clic sur un bouton. + * Elle ouvre la fenêtre des paramètres, cache la fenêtre du jeu et configure + * la fenêtre des paramètres avec la taille et la position de la fenêtre principale. + * + * @param e l'événement de l'action déclenchée. + */ @Override public void actionPerformed(ActionEvent e) { if (escapeMenu != null) { // Vérifier si escapeMenu est non nul diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameSettingsWindowListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameSettingsWindowListener.java index a738fbb..d3de0fb 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameSettingsWindowListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameSettingsWindowListener.java @@ -6,42 +6,91 @@ import java.awt.event.WindowListener; public class GameSettingsWindowListener implements WindowListener { private JFrame gameFrame; - +/** + * @version 1.0 + * @author Khalid CHENOUNA + * Listener pour gérer les événements liés à la fenêtre des paramètres du jeu. + * Ce listener réaffiche la fenêtre principale du jeu (gameFrame) lorsque la + * fenêtre des paramètres est en train de se fermer. + */ public GameSettingsWindowListener(JFrame gameFrame) { + /** + * La fenêtre principale du jeu à réafficher. + */ this.gameFrame = gameFrame; + /** + * Constructeur pour initialiser le listener avec la fenêtre principale du jeu. + * + * @param gameFrame la fenêtre principale du jeu. + */ } - + /** + * Méthode appelée lorsque la fenêtre est ouverte. + * Aucun comportement n'est implémenté pour cet événement. + * + * @param e l'événement de fenêtre. + */ @Override public void windowOpened(WindowEvent e) { // Rien à faire ici } - + /** + * Méthode appelée lorsque la fenêtre est en train de se fermer. + * Cette implémentation réaffiche la fenêtre principale du jeu. + * + * @param e l'événement de fenêtre. + */ @Override public void windowClosing(WindowEvent e) { // Réafficher la gameFrame gameFrame.setVisible(true); } - + /** + * Méthode appelée lorsque la fenêtre a été fermée. + * Aucun comportement n'est implémenté pour cet événement. + * + * @param e l'événement de fenêtre. + */ @Override public void windowClosed(WindowEvent e) { // Rien à faire ici } - + /** + * Méthode appelée lorsque la fenêtre est réduite en icône. + * Aucun comportement n'est implémenté pour cet événement. + * + * @param e l'événement de fenêtre. + */ @Override public void windowIconified(WindowEvent e) { // Rien à faire ici } - + /** + * Méthode appelée lorsque la fenêtre est restaurée après avoir été réduite. + * Aucun comportement n'est implémenté pour cet événement. + * + * @param e l'événement de fenêtre. + */ @Override public void windowDeiconified(WindowEvent e) { // Rien à faire ici } - + /** + * Méthode appelée lorsque la fenêtre devient active. + * Aucun comportement n'est implémenté pour cet événement. + * + * @param e l'événement de fenêtre. + */ @Override public void windowActivated(WindowEvent e) { // Rien à faire ici } - + /** + * Méthode appelée lorsque la fenêtre devient inactive. + * Aucun comportement n'est implémenté pour cet événement. + * + * @param e l'événement de fenêtre. + */ @Override public void windowDeactivated(WindowEvent e) { // Rien à faire ici diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameSpaceKeyListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameSpaceKeyListener.java index 48bd5cc..99e9c37 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameSpaceKeyListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameSpaceKeyListener.java @@ -1,14 +1,33 @@ package fr.monkhanny.dorfromantik.listeners; import fr.monkhanny.dorfromantik.game.Board; - +/** + * @version 1.0 + * @author Lenny FOULOU + * Listener pour gérer l'appui sur la touche Espace dans le jeu. + * Lorsqu'un événement d'appui sur la touche Espace est détecté, + * le plateau de jeu est recentré grâce à une méthode spécifique. + */ public class GameSpaceKeyListener extends java.awt.event.KeyAdapter { + /** + * Le plateau de jeu à recentrer lorsque la touche Espace est enfoncée. + */ private Board board; - + /** + * Constructeur pour initialiser le listener avec le plateau de jeu. + * + * @param board le plateau de jeu sur lequel appliquer l'action de la touche Espace. + */ public GameSpaceKeyListener(Board board) { this.board = board; } - + /** + * Méthode appelée lorsqu'une touche du clavier est enfoncée. + * Si la touche Espace est enfoncée, appelle une méthode du plateau de jeu + * pour le recentrer. + * + * @param e l'événement lié à l'appui sur une touche. + */ @Override public void keyPressed(java.awt.event.KeyEvent e) { if (e.getKeyCode() == java.awt.event.KeyEvent.VK_SPACE) { diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameZoomListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameZoomListener.java index 5a923cc..031fcd2 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameZoomListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameZoomListener.java @@ -4,14 +4,31 @@ import fr.monkhanny.dorfromantik.game.Board; import java.awt.event.MouseAdapter; import java.awt.event.MouseWheelEvent; - +/** + * @version 1.0 + * @author Lenny FOULOU + * Listener pour gérer le zoom dans le jeu à l'aide de la molette de la souris. + * Le zoom s'effectue uniquement lorsque la touche Ctrl est enfoncée. + */ public class GameZoomListener extends MouseAdapter { + /** + * Le plateau de jeu sur lequel les actions de zoom seront effectuées. + */ private Board board; - +/** + * Constructeur pour initialiser le listener avec le plateau de jeu. + * + * @param board le plateau de jeu sur lequel appliquer les zooms. + */ public GameZoomListener(Board board) { this.board = board; } - + /** + * Méthode appelée lorsqu'un événement de molette de souris est détecté. + * Si la touche Ctrl est enfoncée, effectue un zoom avant ou arrière en fonction de la rotation de la molette. + * + * @param e l'événement de molette de souris. + */ @Override public void mouseWheelMoved(MouseWheelEvent e) { // Vérifier si la touche Ctrl est enfoncée et la direction de la molette