diff --git a/src/fr/monkhanny/dorfromantik/listeners/TilePanningActionListener.java b/src/fr/monkhanny/dorfromantik/listeners/TilePanningActionListener.java index 81d49f6..b49360a 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/TilePanningActionListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/TilePanningActionListener.java @@ -6,18 +6,57 @@ import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +/** + * ActionListener pour animer le défilement du plateau. + * Cette classe permet de déplacer progressivement le plateau en fonction de la cible et du nombre d'étapes. + * + * @version 1.0 + * @author Khalid Chenouna, Lenny FOULOU + */ public class TilePanningActionListener implements ActionListener { + /** + * Référence au plateau. + */ private Board board; - private int targetOffsetX, targetOffsetY; - private int steps; // Nombre d'étapes pour l'animation + + /** + * Cible X de défilement du plateau. + */ + private int targetOffsetX; + + /** + * Cible Y de défilement du plateau. + */ + private int targetOffsetY; + + /** + * Nombre d'étapes pour l'animation + */ + private int steps; + + /** + * Timer pour l'animation + */ private Timer timer; - // Indicateur pour vérifier si l'animation est en cours + /** + * Indique si une animation est en cours. + */ private static boolean isAnimating = false; - // Variables pour suivre l'état de l'animation + /** + * Compteur d'étapes pour l'animation. + */ private int currentStep = 0; + /** + * Constructeur pour initialiser les variables de l'animation. + * + * @param board Référence au plateau + * @param targetOffsetX Cible X de défilement du plateau + * @param targetOffsetY Cible Y de défilement du plateau + * @param steps Nombre d'étapes pour l'animation + */ public TilePanningActionListener(Board board, int targetOffsetX, int targetOffsetY, int steps) { this.board = board; this.targetOffsetX = targetOffsetX; @@ -25,6 +64,12 @@ public class TilePanningActionListener implements ActionListener { this.steps = steps; } + /** + * Méthode appelée à chaque étape de l'animation. + * + * @param e Evénement d'action + * @see ActionEvent + */ @Override public void actionPerformed(ActionEvent e) { int currentOffsetX = board.getOffsetX(); @@ -54,10 +99,12 @@ public class TilePanningActionListener implements ActionListener { } } - // Lancer l'animation + /** + * Démarrer l'animation. + */ public void startAnimation() { if (isAnimating) { - stopCurrentAnimation(); + stopAnimation(); } isAnimating = true; @@ -70,19 +117,13 @@ public class TilePanningActionListener implements ActionListener { timer.start(); } - // Arrêter l'animation proprement + /** + * Arrêter l'animation. + */ private void stopAnimation() { if (timer != null) { timer.stop(); // Arrêter le timer } isAnimating = false; // Réinitialiser l'indicateur d'animation } - - // Annuler l'animation en cours - private void stopCurrentAnimation() { - if (timer != null) { - timer.stop(); // Arrêter le timer de l'animation en cours - } - isAnimating = false; // Réinitialiser l'animation - } } diff --git a/src/fr/monkhanny/dorfromantik/listeners/TutorialButtonHoverListener.java b/src/fr/monkhanny/dorfromantik/listeners/TutorialButtonHoverListener.java index ef4900a..7d05047 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/TutorialButtonHoverListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/TutorialButtonHoverListener.java @@ -5,23 +5,57 @@ import java.awt.event.MouseEvent; import javax.swing.JButton; import java.awt.Color; +/** + * Listener pour animer un bouton lorsqu'il est survolé par la souris. + * Cette classe permet de changer la couleur du bouton lorsque la souris entre ou sort de la zone du bouton. + * + * @version 1.0 + * @author Moncef STITI, Lenny FOULOU + */ public class TutorialButtonHoverListener extends MouseAdapter { - + /** + * Référence au bouton à animer + */ private final JButton button; + + /** + * Couleur de survol du bouton + */ private final Color hoverColor; + + /** + * Couleur d'origine du bouton + */ private final Color originalColor; + /** + * Constructeur pour initialiser les variables du listener. + * + * @param button Référence au bouton à animer + * @param hoverColor Couleur de survol du bouton + * @param originalColor Couleur d'origine du bouton + */ public TutorialButtonHoverListener(JButton button, Color hoverColor, Color originalColor) { this.button = button; this.hoverColor = hoverColor; this.originalColor = originalColor; } + /** + * Change la couleur du bouton lorsque la souris entre dans la zone du bouton. + * @param evt Evénement de souris + * @see MouseEvent + */ @Override public void mouseEntered(MouseEvent evt) { button.setBackground(hoverColor); // Couleur plus claire au survol } + /** + * Change la couleur du bouton lorsque la souris sort de la zone du bouton. + * @param evt Evénement de souris + * @see MouseEvent + */ @Override public void mouseExited(MouseEvent evt) { button.setBackground(originalColor); // Retour à la couleur originale