diff --git a/src/fr/monkhanny/dorfromantik/Main.java b/src/fr/monkhanny/dorfromantik/Main.java index af5e7b9..8f077ac 100644 --- a/src/fr/monkhanny/dorfromantik/Main.java +++ b/src/fr/monkhanny/dorfromantik/Main.java @@ -49,6 +49,13 @@ public class Main { */ private static boolean isMusicPlayed = false; + /** + * Constructeur par défaut pour la classe Main. + */ + public Main() { + // Constructeur par défaut + } + /** * Réinitialiser le jeu */ @@ -80,19 +87,13 @@ public class Main { // 4. Créer les fenêtres à nouveau comme au début - ImageIcon icon = new ImageIcon("./ressources/images/Application/Application_Icon.jpg"); - gameModeFrame = new JFrame("Choix des séries - Dorfromantik"); gameModeFrame.setMinimumSize(Options.MINIMUM_FRAME_SIZE); - gameModeFrame.setIconImage(icon.getImage()); gameFrame = new JFrame("Jeu - Dorfromantik"); - gameFrame.setIconImage(icon.getImage()); gameFrame.setMinimumSize(Options.MINIMUM_FRAME_SIZE); settingsFrame = new JFrame("Paramètres - Dorfromantik"); - settingsFrame.setIconImage(icon.getImage()); settingsFrame.setMinimumSize(Options.MINIMUM_FRAME_SIZE); howToPlayFrame = new JFrame("Comment jouer ? - Dorfromantik"); - howToPlayFrame.setIconImage(icon.getImage()); howToPlayFrame.setMinimumSize(Options.MINIMUM_FRAME_SIZE); // Re-créer et réinitialiser les panels et les contrôleurs diff --git a/src/fr/monkhanny/dorfromantik/Options.java b/src/fr/monkhanny/dorfromantik/Options.java index 19c8e96..8e72a36 100644 --- a/src/fr/monkhanny/dorfromantik/Options.java +++ b/src/fr/monkhanny/dorfromantik/Options.java @@ -15,6 +15,13 @@ import fr.monkhanny.dorfromantik.gui.MainMenu; */ public class Options { + /** + * Constructeur par défaut pour la classe Options. + */ + public Options() { + // Constructeur par défaut + } + /** * Taille de police de base pour les titres du menu principal */ diff --git a/src/fr/monkhanny/dorfromantik/components/Button.java b/src/fr/monkhanny/dorfromantik/components/Button.java index f2b924a..3984a2e 100644 --- a/src/fr/monkhanny/dorfromantik/components/Button.java +++ b/src/fr/monkhanny/dorfromantik/components/Button.java @@ -12,9 +12,14 @@ import java.awt.*; * @version 1.0 * @author Khalid CHENOUNA **/ - public class Button { + /** + * Constructeur par défaut pour initialiser la classe utilitaire. + */ + public Button() { + } + /** * Crée un bouton personnalisé avec un texte, une taille de police spécifique et un style prédéfini. * diff --git a/src/fr/monkhanny/dorfromantik/game/Board.java b/src/fr/monkhanny/dorfromantik/game/Board.java index 563d1e6..d8ce630 100644 --- a/src/fr/monkhanny/dorfromantik/game/Board.java +++ b/src/fr/monkhanny/dorfromantik/game/Board.java @@ -16,17 +16,13 @@ import java.util.*; import javax.swing.*; 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. + * Gère 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{ /** @@ -115,7 +111,12 @@ public class Board extends JPanel{ private ScoreDisplay scoreDisplay; - // Constructeur avec seed + /** + * Constructeur pour initialiser le plateau de jeu avec la fenêtre principale et la graine aléatoire. + * + * @param gameFrame la fenêtre du jeu + * @param seed la graine aléatoire pour initialiser le générateur de nombres aléatoires + */ public Board(JFrame gameFrame, long seed) { this.gameFrame = gameFrame; this.tiles = new ArrayList<>(); @@ -161,10 +162,19 @@ public class Board extends JPanel{ gameFrame.addKeyListener(new CustomKeyAdapter(this)); } + + /** + * Récupère le menu des contrôles du jeu. + * @return le menu des contrôles du jeu + */ public GameControlsMenu getControlsMenu() { return controlsMenu; } + /** + * Gère les événements de déplacement de la souris. + * @param e l'événement MouseEvent déclenché par le déplacement de la souris + */ public void handleMouseMove(java.awt.event.MouseEvent e) { if (Options.isPaused) { return; @@ -193,6 +203,9 @@ public class Board extends JPanel{ repaint(); // Redessiner sans la tuile transparente } + /** + * Initialise la prochaine tuile à placer sur le plateau. + */ private void initializeNextTile() { int offsetX = 50; // Décalage pour la position en haut à gauche int offsetY = 50; // Décalage pour la position en haut à gauche @@ -200,8 +213,15 @@ public class Board extends JPanel{ } + /** + * Récupère la prochaine tuile à placer sur le plateau. + * @return la prochaine tuile à placer + */ public Tile getNextTile() { return nextTile; } + /** + * Gère les événements de touche de clavier + */ public void handleSpaceKeyPress() { if (Options.isPaused) { return; @@ -251,11 +271,11 @@ public class Board extends JPanel{ /** - * Gère les événements de clic de souris pour placer une tuile à la position disponible - * la plus proche, si le jeu n'est pas en pause. - * - * @param e l'événement MouseEvent déclenché par un clic de souris - */ + * Gère les événements de clic de souris pour placer une tuile à la position disponible + * la plus proche, si le jeu n'est pas en pause. + * + * @param e l'événement MouseEvent déclenché par un clic de souris + */ public void handleMouseClick(java.awt.event.MouseEvent e) { if (Options.isPaused) { return; @@ -284,9 +304,9 @@ public class Board extends JPanel{ /** - * Initialise la tuile centrale au centre de la fenêtre de jeu et calcule - * les positions disponibles autour pour les placements futurs. - */ + * Initialise la tuile centrale au centre de la fenêtre de jeu et calcule + * les positions disponibles autour pour les placements futurs. + */ private void initializeCentralTile() { int centerX = gameFrame.getWidth() / 2; int centerY = gameFrame.getHeight() / 2; @@ -301,11 +321,11 @@ public class Board extends JPanel{ } /** - * Ajoute une tuile au jeu, met à jour le gestionnaire de score - * et rafraîchit l'affichage du score. - * - * @param tile l'objet Tile à ajouter au jeu - */ + * Ajoute une tuile au jeu, met à jour le gestionnaire de score + * et rafraîchit l'affichage du score. + * + * @param tile l'objet Tile à ajouter au jeu + */ public void addTile(Tile tile) { tiles.add(tile); scoreManager.addTile(tile); @@ -313,13 +333,13 @@ public class Board extends JPanel{ scoreDisplay.setScore(currentScore); } -/** - * Récupère la tuile située aux coordonnées spécifiées, si elle existe. - * - * @param x la coordonnée x à vérifier - * @param y la coordonnée y à vérifier - * @return l'objet Tile situé aux coordonnées spécifiées, ou {@code null} si aucune tuile n'est trouvée - */ + /** + * Récupère la tuile située aux coordonnées spécifiées, si elle existe. + * + * @param x la coordonnée x à vérifier + * @param y la coordonnée y à vérifier + * @return l'objet Tile situé aux coordonnées spécifiées, ou {@code null} si aucune tuile n'est trouvée + */ public Tile getTileAt(int x, int y) { for (Tile tile : tiles) { if (Math.abs(tile.getXCoord() - x) < 5 && Math.abs(tile.getYCoord() - y) < 5) { @@ -329,8 +349,16 @@ public class Board extends JPanel{ return null; } + /** + * Récupère le random + * @return random + */ public Random getRandom() { return random; } + /** + * Récupère la game + * @return game + */ public Game getGame() { return game; } /** @@ -340,28 +368,28 @@ public class Board extends JPanel{ * @param tile La tuile pour laquelle on calcule les positions disponibles */ private void calculateAvailablePositions(Tile tile) { - int tileX = tile.getXCoord(); - int tileY = tile.getYCoord(); - int radius = (int) (tile.getRadius() * 1.72); // Utiliser un rayon uniforme pour toutes les directions + int tileX = tile.getXCoord(); + int tileY = tile.getYCoord(); + int radius = (int) (tile.getRadius() * 1.72); // Utiliser un rayon uniforme pour toutes les directions - // Définir les directions possibles autour de la tuile (6 directions pour une tuile hexagonale) - Point[] directions = { - new Point(0, -radius), // Nord - new Point((int)(radius * Math.sqrt(3) / 2), -radius / 2), // Nord-Est (ajuster horizontalement) - new Point((int)(radius * Math.sqrt(3) / 2), radius / 2), // Sud-Est (ajuster horizontalement) - new Point(0, radius), // Sud - new Point(-(int)(radius * Math.sqrt(3) / 2), radius / 2), // Sud-Ouest (ajuster horizontalement) - new Point(-(int)(radius * Math.sqrt(3) / 2), -radius / 2) // Nord-Ouest (ajuster horizontalement) - }; + // Définir les directions possibles autour de la tuile (6 directions pour une tuile hexagonale) + Point[] directions = { + new Point(0, -radius), // Nord + new Point((int)(radius * Math.sqrt(3) / 2), -radius / 2), // Nord-Est (ajuster horizontalement) + new Point((int)(radius * Math.sqrt(3) / 2), radius / 2), // Sud-Est (ajuster horizontalement) + new Point(0, radius), // Sud + new Point(-(int)(radius * Math.sqrt(3) / 2), radius / 2), // Sud-Ouest (ajuster horizontalement) + new Point(-(int)(radius * Math.sqrt(3) / 2), -radius / 2) // Nord-Ouest (ajuster horizontalement) + }; - // Calculer les positions disponibles autour de la tuile - for (Point direction : directions) { - Point newPoint = new Point(tileX + direction.x, tileY + direction.y); - if (!isTileAtPosition(newPoint)) { - availablePositions.add(newPoint); // Ajouter la position si une tuile n'est pas déjà là + // Calculer les positions disponibles autour de la tuile + for (Point direction : directions) { + Point newPoint = new Point(tileX + direction.x, tileY + direction.y); + if (!isTileAtPosition(newPoint)) { + availablePositions.add(newPoint); // Ajouter la position si une tuile n'est pas déjà là + } } } -} /** @@ -428,13 +456,13 @@ public class Board extends JPanel{ } } } - -/** - * Recentre automatiquement la vue sur une tuile nouvellement placée si l'option - * de mise au point automatique (AUTO_FOCUS) est activée. - * - * @param newlyPlacedTile la tuile récemment placée, utilisée comme référence pour recentrer la vue - */ + + /** + * Recentre automatiquement la vue sur une tuile nouvellement placée si l'option + * de mise au point automatique (AUTO_FOCUS) est activée. + * + * @param newlyPlacedTile la tuile récemment placée, utilisée comme référence pour recentrer la vue + */ public void autoReFocus(Tile newlyPlacedTile) { if (Options.AUTO_FOCUS) { // Récupérer les coordonnées de la nouvelle tuile @@ -453,28 +481,63 @@ public class Board extends JPanel{ } } + /** + * Récupère le facteur de zoom actuel. + * @return facteur de zoom actuel. + */ public double getZoomFactor() { return zoomFactor;} + /** + * Définit le facteur de zoom actuel. + * @param zoomFactor facteur de zoom actuel. + */ public void setZoomFactor(double zoomFactor) { this.zoomFactor = zoomFactor; } + /** + * Récupère l'offset horizontal actuel. + * @return offsetX + */ public int getOffsetX() { return offsetX; } + /** + * Définit l'offset horizontal actuel. + * @param offsetX La valeur de l'offset horizontal à définir. + */ public void setOffsetX(int offsetX) { this.offsetX = offsetX; } + /** + * Récupère l'offset vertical actuel. + * @return offsetY + */ public int getOffsetY() { return offsetY; } + /** + * Définit l'offset vertical actuel. + * @param offsetY La valeur de l'offset vertical à définir. + */ public void setOffsetY(int offsetY) { this.offsetY = offsetY; } + /** + * Permet de zoomer sur le plateau de jeu. + */ public void zoomIn() { zoomFactor *= 1.1; // Augmenter le facteur de zoom repaint(); } + /** + * Permet de dézoomer sur le plateau de jeu. + */ public void zoomOut() { zoomFactor /= 1.1; // Diminuer le facteur de zoom repaint(); } + /** + * Permet de déplacer le plateau de jeu. + * @param dx Position x + * @param dy Position y + */ public void moveBoard(int dx, int dy) { offsetX += dx; offsetY += dy; diff --git a/src/fr/monkhanny/dorfromantik/listeners/CloseWindowListener.java b/src/fr/monkhanny/dorfromantik/listeners/CloseWindowListener.java index 59928f1..be9e4a8 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/CloseWindowListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/CloseWindowListener.java @@ -9,9 +9,8 @@ import javax.swing.*; /** * Listener pour gérer la fermeture d'une fenêtre secondaire et réafficher le menu principal. - * Lorsque la fenêtre surveillée est fermée, ce listener rend visible le menu principal + * Lorsque la fenêtre surveillée est fermée, ce listener rend visible le menu principal et cache la fenêtre en cours. * - * et cache la fenêtre en cours. * @version 1.0 * @author Khalid CHENOUNA */ diff --git a/src/fr/monkhanny/dorfromantik/listeners/EscapeMenuCloseListener.java b/src/fr/monkhanny/dorfromantik/listeners/EscapeMenuCloseListener.java index 8a666d3..d1f8cf9 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/EscapeMenuCloseListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/EscapeMenuCloseListener.java @@ -16,6 +16,13 @@ import fr.monkhanny.dorfromantik.Options; */ public class EscapeMenuCloseListener extends WindowAdapter { + /** + * Constructeur par défaut pour initialiser le listener. + */ + public EscapeMenuCloseListener() { + // Constructeur par défaut + } + /** * Méthode appelée lorsque la fenêtre du menu d'échappement est en cours de fermeture. * Met à jour l'état d'**Options.isPaused** pour indiquer que le jeu n'est plus en pause. diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameModeNextButtonActionListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameModeNextButtonActionListener.java index 70cf0a5..55909e6 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameModeNextButtonActionListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameModeNextButtonActionListener.java @@ -4,6 +4,7 @@ import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import fr.monkhanny.dorfromantik.gui.GameModeSelectionPanel; + /** * Listener pour gérer les clics sur le bouton "Suivant" dans le panneau de sélection du mode de jeu. * Cette classe permet de naviguer vers la page suivante des séries disponibles dans le panneau. @@ -13,7 +14,7 @@ import fr.monkhanny.dorfromantik.gui.GameModeSelectionPanel; */ public class GameModeNextButtonActionListener implements ActionListener { - /** + /** * Le panneau de sélection du mode de jeu. */ private GameModeSelectionPanel panel; diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameQuitButtonListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameQuitButtonListener.java index 7e8045f..e15f54d 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameQuitButtonListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameQuitButtonListener.java @@ -3,19 +3,23 @@ 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. + * + * @version 1.0 + * @author Khalid CHENOUNA */ 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. diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameResumeButtonListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameResumeButtonListener.java index 6eb8742..d163933 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameResumeButtonListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameResumeButtonListener.java @@ -5,17 +5,20 @@ 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. + * + * @version 1.0 + * @author Khalid CHENOUNA */ 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. * @@ -24,6 +27,7 @@ public class GameResumeButtonListener implements ActionListener { 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. diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameSettingsButtonListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameSettingsButtonListener.java index bf4bb46..8a1ada1 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameSettingsButtonListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameSettingsButtonListener.java @@ -7,38 +7,41 @@ import fr.monkhanny.dorfromantik.gui.SettingsPanel; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; + /** + * 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. + * * @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; this.escapeMenu = escapeMenu; @@ -49,6 +52,7 @@ 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 diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameSettingsWindowListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameSettingsWindowListener.java index d3de0fb..be1fc55 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameSettingsWindowListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameSettingsWindowListener.java @@ -4,26 +4,28 @@ import javax.swing.JFrame; import java.awt.event.WindowEvent; import java.awt.event.WindowListener; -public class GameSettingsWindowListener implements WindowListener { - private JFrame gameFrame; /** + * 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. + * * @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) { +public class GameSettingsWindowListener implements WindowListener { /** - * La fenêtre principale du jeu à réafficher. + * La fenêtre du jeu. */ - this.gameFrame = gameFrame; - /** + private JFrame gameFrame; + + /** * Constructeur pour initialiser le listener avec la fenêtre principale du jeu. * * @param gameFrame la fenêtre principale du jeu. */ + public GameSettingsWindowListener(JFrame gameFrame) { + this.gameFrame = gameFrame; } + /** * Méthode appelée lorsque la fenêtre est ouverte. * Aucun comportement n'est implémenté pour cet événement. @@ -34,6 +36,7 @@ public class GameSettingsWindowListener implements WindowListener { 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. @@ -45,6 +48,7 @@ public class GameSettingsWindowListener implements WindowListener { // 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. @@ -55,6 +59,7 @@ public class GameSettingsWindowListener implements WindowListener { 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. @@ -65,6 +70,7 @@ public class GameSettingsWindowListener implements WindowListener { 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. @@ -75,6 +81,7 @@ public class GameSettingsWindowListener implements WindowListener { 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. @@ -85,6 +92,7 @@ public class GameSettingsWindowListener implements WindowListener { 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. diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameSpaceKeyListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameSpaceKeyListener.java index 99e9c37..062a2c4 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameSpaceKeyListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameSpaceKeyListener.java @@ -2,11 +2,12 @@ package fr.monkhanny.dorfromantik.listeners; import fr.monkhanny.dorfromantik.game.Board; /** + * 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. + * + * * @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 { /** diff --git a/src/fr/monkhanny/dorfromantik/listeners/GameZoomListener.java b/src/fr/monkhanny/dorfromantik/listeners/GameZoomListener.java index 031fcd2..f16bd64 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/GameZoomListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/GameZoomListener.java @@ -5,10 +5,11 @@ 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. + * + * @version 1.0 + * @author Lenny FOULOU */ public class GameZoomListener extends MouseAdapter { /** diff --git a/src/fr/monkhanny/dorfromantik/listeners/MusicVolumeChangeListener.java b/src/fr/monkhanny/dorfromantik/listeners/MusicVolumeChangeListener.java index 28c30c0..d750f86 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/MusicVolumeChangeListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/MusicVolumeChangeListener.java @@ -7,17 +7,19 @@ import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import javax.swing.JSlider; /** + * Classe MusicVolumeChangeListener, un écouteur d'événements. + * Gère les changements de volume de la musique via un composant JSlider. + * * @version 1.0 * @author Moncef STITI - * Classe MusicVolumeChangeListener, un écouteur d'événements pour gérer les changements - * de volume de la musique via un composant JSlider. */ public class MusicVolumeChangeListener implements ChangeListener { - /** + /** * Le slider associé permettant de contrôler le volume de la musique. */ private JSlider slider; - /** + + /** * Constructeur de MusicVolumeChangeListener. * * @param slider le composant JSlider utilisé pour ajuster le volume @@ -25,6 +27,7 @@ public class MusicVolumeChangeListener implements ChangeListener { public MusicVolumeChangeListener(JSlider slider) { this.slider = slider; } + /** * Gère les changements d'état du slider (JSlider). * Met à jour le volume de la musique en fonction de la position actuelle du slider. @@ -35,7 +38,7 @@ public class MusicVolumeChangeListener implements ChangeListener { public void stateChanged(ChangeEvent e) { // Récupérer la valeur du slider spécifique Options.MUSIC_VOLUME = slider.getValue(); - // Applique le nouveau volume au lecteur de musique + // Applique le nouveau volume au lecteur de musique MusicPlayer.setVolume(MusicPlayer.getMusicClip(), Options.MUSIC_VOLUME); } } diff --git a/src/fr/monkhanny/dorfromantik/listeners/MuteCheckBoxListener.java b/src/fr/monkhanny/dorfromantik/listeners/MuteCheckBoxListener.java index cf2a740..8f9b9a1 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/MuteCheckBoxListener.java +++ b/src/fr/monkhanny/dorfromantik/listeners/MuteCheckBoxListener.java @@ -6,19 +6,22 @@ import fr.monkhanny.dorfromantik.utils.MusicPlayer; import javax.swing.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; + /** - * @version 1.0 - * @author Moncef STITI * Classe MuteCheckBoxListener, un écouteur d'événements pour gérer les cases à cocher * permettant d'activer ou de désactiver la musique et les effets sonores (SFX). + * + * @version 1.0 + * @author Moncef STITI */ public class MuteCheckBoxListener implements ActionListener { - /** + /** * Libellé indiquant le type d'option contrôlée par cet écouteur. * Par exemple, "Musique" pour la musique de fond ou "SFX" pour les effets sonores. */ private String label; - /** + + /** * Constructeur de MuteCheckBoxListener. * * @param label un libellé pour indiquer le type d'option (par exemple "Musique" ou "SFX") @@ -26,6 +29,7 @@ public class MuteCheckBoxListener implements ActionListener { public MuteCheckBoxListener(String label) { this.label = label; } + /** * Gère les événements de clic sur une case à cocher. * Permet d'activer ou de désactiver la musique ou les effets sonores en fonction diff --git a/src/fr/monkhanny/dorfromantik/listeners/package-info.java b/src/fr/monkhanny/dorfromantik/listeners/package-info.java index f70cd2d..26edb1f 100644 --- a/src/fr/monkhanny/dorfromantik/listeners/package-info.java +++ b/src/fr/monkhanny/dorfromantik/listeners/package-info.java @@ -5,9 +5,5 @@ * @since 1.0 * @version 1.0 * @author Moncef STITI, Lenny FOULOU, Khalid CHENOUNA - * @see fr.monkhanny.dorfromantik.listeners.GameEndListener - * @see fr.monkhanny.dorfromantik.listeners.GameZoomListener - * @see fr.monkhanny.dorfromantik.listeners.MusicVolumeChangeListener - * @see fr.monkhanny.dorfromantik.listeners.TileSelectionListener */ package fr.monkhanny.dorfromantik.listeners; \ No newline at end of file diff --git a/src/fr/monkhanny/dorfromantik/utils/Database.java b/src/fr/monkhanny/dorfromantik/utils/Database.java index 8cbc1c7..cd1c32d 100644 --- a/src/fr/monkhanny/dorfromantik/utils/Database.java +++ b/src/fr/monkhanny/dorfromantik/utils/Database.java @@ -133,7 +133,6 @@ public class Database { /** * Récupère toutes les séries de la base de données * @return Les séries stockées dans la base de données - * @throws SQLException Si une erreur se produit lors de la récupération des séries */ public List getAllSeries() { List series = new ArrayList<>(); @@ -153,8 +152,9 @@ public class Database { /** * Récupère les séries dans une plage de dates + * @param startDate Date de début + * @param endDate Date de fin * @return La liste des séries créées dans la plage de dates spécifiée - * @throws SQLException Si une erreur se produit lors de la récupération des séries */ public List getSeriesByDateRange(Date startDate, Date endDate) { List series = new ArrayList<>(); @@ -180,7 +180,6 @@ public class Database { * @param endDate Date de fin * @param onlyDeveloperCreated Indique si seules les séries créées par les développeurs doivent être comptées * @return Le nombre de séries créées dans la plage de dates spécifiée - * @throws SQLException Si une erreur se produit lors de la récupération du nombre de séries */ public int countSeriesByDateRange(Date startDate, Date endDate, boolean onlyDeveloperCreated) { int count = 0; @@ -214,7 +213,6 @@ public class Database { * @param itemsPerPage Nombre d'éléments par page * @param onlyDeveloperCreated Indique si seules les séries créées par les développeurs doivent être récupérées * @return La liste des séries créées dans la plage de dates spécifiée, paginée - * @throws SQLException Si une erreur se produit lors de la récupération des séries */ public List getSeriesByDateRangePaginated(Date startDate, Date endDate, int page, int itemsPerPage, @@ -251,6 +249,7 @@ public class Database { /** * Récupère la seed correspondant au nom de la série + * @param name Le nom de la série * @return La seed associée au nom de la série * @throws SQLException Si une erreur se produit lors de la récupération de la seed */ @@ -269,6 +268,8 @@ public class Database { /** * Ajoute un score à une série + * @param seriesId L'ID de la série + * @param score Le score à ajouter * @throws SQLException Si une erreur se produit lors de l'ajout du score */ public void addScore(long seriesId, int score) throws SQLException { @@ -391,6 +392,9 @@ public class Database { return scores; } + /** + * Ferme la connexion à la base de données + */ public void close() { try { if (this.database != null && !this.database.isClosed()) { diff --git a/src/fr/monkhanny/dorfromantik/utils/FontLoader.java b/src/fr/monkhanny/dorfromantik/utils/FontLoader.java index b5118d5..e2fffcb 100644 --- a/src/fr/monkhanny/dorfromantik/utils/FontLoader.java +++ b/src/fr/monkhanny/dorfromantik/utils/FontLoader.java @@ -17,6 +17,13 @@ import java.io.IOException; */ public class FontLoader { + /** + * Constructeur par défaut pour la classe FontLoader. + */ + public FontLoader() { + // Constructeur par défaut + } + /** * Charge une police à partir du fichier spécifié. * @param fontEnumName Enumération de la police à charger. diff --git a/src/fr/monkhanny/dorfromantik/utils/FontManager.java b/src/fr/monkhanny/dorfromantik/utils/FontManager.java index 2d499e1..bb9e681 100644 --- a/src/fr/monkhanny/dorfromantik/utils/FontManager.java +++ b/src/fr/monkhanny/dorfromantik/utils/FontManager.java @@ -26,6 +26,14 @@ public class FontManager { */ private static Font buttonFont; + + /** + * Constructeur par défaut pour la classe FontManager. + */ + public FontManager() { + // Constructeur par défaut + } + /** * Charge une police personnalisée à partir du fichier de police spécifié. * diff --git a/src/fr/monkhanny/dorfromantik/utils/ImageLoader.java b/src/fr/monkhanny/dorfromantik/utils/ImageLoader.java index ef19091..4eafdb3 100644 --- a/src/fr/monkhanny/dorfromantik/utils/ImageLoader.java +++ b/src/fr/monkhanny/dorfromantik/utils/ImageLoader.java @@ -18,6 +18,14 @@ public class ImageLoader { */ public static final Image APPLICATION_ICON = ImageLoader.loadImage("./ressources/images/Application/Application_Icon.jpg"); + + /** + * Constructeur par défaut pour la classe ImageLoader. + */ + public ImageLoader() { + // Constructeur par défaut + } + /** * Charge une image à partir du fichier spécifié. * diff --git a/src/fr/monkhanny/dorfromantik/utils/MusicPlayer.java b/src/fr/monkhanny/dorfromantik/utils/MusicPlayer.java index c5f6a81..2dd1c16 100644 --- a/src/fr/monkhanny/dorfromantik/utils/MusicPlayer.java +++ b/src/fr/monkhanny/dorfromantik/utils/MusicPlayer.java @@ -39,6 +39,13 @@ public class MusicPlayer { */ private static boolean isPlayingSound = false; + /** + * Constructeur par défaut pour la classe MusicPlayer. + */ + public MusicPlayer() { + // Constructeur par défaut + } + /** * Charge un fichier audio à partir du chemin spécifié. * @param music Musique à charger @@ -114,6 +121,8 @@ public class MusicPlayer { /** * Régler le volume du clip audio. + * @param clip Clip audio + * @param volume Volume à régler */ public static void setVolume(Clip clip, int volume) { if (clip != null) { diff --git a/src/fr/monkhanny/dorfromantik/utils/SoundLoader.java b/src/fr/monkhanny/dorfromantik/utils/SoundLoader.java index a98bbb3..af3d4e5 100644 --- a/src/fr/monkhanny/dorfromantik/utils/SoundLoader.java +++ b/src/fr/monkhanny/dorfromantik/utils/SoundLoader.java @@ -15,6 +15,13 @@ import java.io.IOException; */ public class SoundLoader { + /** + * Constructeur par défaut pour la classe SoundLoader. + */ + public SoundLoader() { + // Constructeur par défaut + } + /** * Charge un fichier audio à partir du chemin spécifié. *