Merge branch 'main' of grond.iut-fbleau.fr:stiti/SAE31_2024
This commit is contained in:
@@ -4,14 +4,33 @@ import java.awt.event.ActionEvent;
|
|||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
|
|
||||||
import fr.monkhanny.dorfromantik.gui.GameModeSelectionPanel;
|
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 {
|
public class GameModePrevButtonActionListener implements ActionListener {
|
||||||
|
/**
|
||||||
|
* Le panneau de sélection du mode de jeu.
|
||||||
|
*/
|
||||||
private GameModeSelectionPanel panel;
|
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) {
|
public GameModePrevButtonActionListener(GameModeSelectionPanel panel) {
|
||||||
this.panel = 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
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
if (panel.getCurrentPage() > 1) {
|
if (panel.getCurrentPage() > 1) {
|
||||||
|
@@ -3,14 +3,32 @@ package fr.monkhanny.dorfromantik.listeners;
|
|||||||
import fr.monkhanny.dorfromantik.game.Board;
|
import fr.monkhanny.dorfromantik.game.Board;
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseEvent;
|
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 {
|
public class GameMouseClickListener extends MouseAdapter {
|
||||||
|
/**
|
||||||
|
* Le plateau de jeu sur lequel les clics de souris sont traités.
|
||||||
|
*/
|
||||||
private Board board;
|
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) {
|
public GameMouseClickListener(Board board) {
|
||||||
this.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
|
@Override
|
||||||
public void mousePressed(MouseEvent e) {
|
public void mousePressed(MouseEvent e) {
|
||||||
board.handleMouseClick(e);
|
board.handleMouseClick(e);
|
||||||
|
@@ -4,15 +4,34 @@ import fr.monkhanny.dorfromantik.game.Board;
|
|||||||
|
|
||||||
import java.awt.event.MouseWheelEvent;
|
import java.awt.event.MouseWheelEvent;
|
||||||
import java.awt.event.MouseWheelListener;
|
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 {
|
public class GameMouseWheelListener implements MouseWheelListener {
|
||||||
|
/**
|
||||||
|
* Le plateau de jeu sur lequel les actions sont effectuées.
|
||||||
|
*/
|
||||||
private Board board;
|
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) {
|
public GameMouseWheelListener(Board board) {
|
||||||
this.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
|
@Override
|
||||||
public void mouseWheelMoved(MouseWheelEvent e) {
|
public void mouseWheelMoved(MouseWheelEvent e) {
|
||||||
if (board.getNextTile() != null) {
|
if (board.getNextTile() != null) {
|
||||||
|
@@ -3,13 +3,25 @@ package fr.monkhanny.dorfromantik.listeners;
|
|||||||
|
|
||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
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 {
|
public class GameQuitButtonListener implements ActionListener {
|
||||||
|
/**
|
||||||
|
* Constructeur par défaut pour initialiser le listener.
|
||||||
|
*/
|
||||||
public GameQuitButtonListener() {
|
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
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
// Quitter
|
// Quitter
|
||||||
|
@@ -5,14 +5,31 @@ import java.awt.event.ActionListener;
|
|||||||
|
|
||||||
import fr.monkhanny.dorfromantik.Options;
|
import fr.monkhanny.dorfromantik.Options;
|
||||||
import fr.monkhanny.dorfromantik.game.EscapeMenu;
|
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 {
|
public class GameResumeButtonListener implements ActionListener {
|
||||||
|
/**
|
||||||
|
* Le menu d'échappement (menu pause) qui doit être masqué lorsque le jeu reprend.
|
||||||
|
*/
|
||||||
private EscapeMenu escapeMenu;
|
private EscapeMenu escapeMenu;
|
||||||
|
/**
|
||||||
|
* Constructeur pour initialiser le listener avec le menu d'échappement.
|
||||||
|
*
|
||||||
|
* @param escapeMenu le menu d'échappement à masquer.
|
||||||
|
*/
|
||||||
public GameResumeButtonListener(EscapeMenu escapeMenu) {
|
public GameResumeButtonListener(EscapeMenu escapeMenu) {
|
||||||
this.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
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
// Cacher le menu de pause
|
// Cacher le menu de pause
|
||||||
|
@@ -7,12 +7,37 @@ import fr.monkhanny.dorfromantik.gui.SettingsPanel;
|
|||||||
import java.awt.event.ActionEvent;
|
import java.awt.event.ActionEvent;
|
||||||
import java.awt.event.ActionListener;
|
import java.awt.event.ActionListener;
|
||||||
import javax.swing.JFrame;
|
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 {
|
public class GameSettingsButtonListener implements ActionListener {
|
||||||
|
/**
|
||||||
|
* La fenêtre principale du jeu.
|
||||||
|
*/
|
||||||
private JFrame gameFrame;
|
private JFrame gameFrame;
|
||||||
|
/**
|
||||||
|
* La fenêtre dédiée aux paramètres.
|
||||||
|
*/
|
||||||
private JFrame settingsFrame;
|
private JFrame settingsFrame;
|
||||||
|
/**
|
||||||
|
* Le panneau contenant les options de configuration.
|
||||||
|
*/
|
||||||
private SettingsPanel settingsPanel;
|
private SettingsPanel settingsPanel;
|
||||||
|
/**
|
||||||
|
* Le menu d'échappement (menu pause) qui doit être caché lorsque les paramètres sont affichés.
|
||||||
|
*/
|
||||||
private EscapeMenu escapeMenu;
|
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) {
|
public GameSettingsButtonListener(JFrame gameFrame, EscapeMenu escapeMenu) {
|
||||||
this.gameFrame = gameFrame;
|
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
|
// Ajouter le WindowListener pour réafficher la gameFrame lors de la fermeture de settingsFrame
|
||||||
this.settingsFrame.addWindowListener(new GameSettingsWindowListener(gameFrame));
|
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
|
@Override
|
||||||
public void actionPerformed(ActionEvent e) {
|
public void actionPerformed(ActionEvent e) {
|
||||||
if (escapeMenu != null) { // Vérifier si escapeMenu est non nul
|
if (escapeMenu != null) { // Vérifier si escapeMenu est non nul
|
||||||
|
@@ -6,42 +6,91 @@ import java.awt.event.WindowListener;
|
|||||||
|
|
||||||
public class GameSettingsWindowListener implements WindowListener {
|
public class GameSettingsWindowListener implements WindowListener {
|
||||||
private JFrame gameFrame;
|
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) {
|
public GameSettingsWindowListener(JFrame gameFrame) {
|
||||||
|
/**
|
||||||
|
* La fenêtre principale du jeu à réafficher.
|
||||||
|
*/
|
||||||
this.gameFrame = gameFrame;
|
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
|
@Override
|
||||||
public void windowOpened(WindowEvent e) {
|
public void windowOpened(WindowEvent e) {
|
||||||
// Rien à faire ici
|
// 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
|
@Override
|
||||||
public void windowClosing(WindowEvent e) {
|
public void windowClosing(WindowEvent e) {
|
||||||
// Réafficher la gameFrame
|
// Réafficher la gameFrame
|
||||||
gameFrame.setVisible(true);
|
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
|
@Override
|
||||||
public void windowClosed(WindowEvent e) {
|
public void windowClosed(WindowEvent e) {
|
||||||
// Rien à faire ici
|
// 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
|
@Override
|
||||||
public void windowIconified(WindowEvent e) {
|
public void windowIconified(WindowEvent e) {
|
||||||
// Rien à faire ici
|
// 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
|
@Override
|
||||||
public void windowDeiconified(WindowEvent e) {
|
public void windowDeiconified(WindowEvent e) {
|
||||||
// Rien à faire ici
|
// 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
|
@Override
|
||||||
public void windowActivated(WindowEvent e) {
|
public void windowActivated(WindowEvent e) {
|
||||||
// Rien à faire ici
|
// 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
|
@Override
|
||||||
public void windowDeactivated(WindowEvent e) {
|
public void windowDeactivated(WindowEvent e) {
|
||||||
// Rien à faire ici
|
// Rien à faire ici
|
||||||
|
@@ -1,14 +1,33 @@
|
|||||||
package fr.monkhanny.dorfromantik.listeners;
|
package fr.monkhanny.dorfromantik.listeners;
|
||||||
|
|
||||||
import fr.monkhanny.dorfromantik.game.Board;
|
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 {
|
public class GameSpaceKeyListener extends java.awt.event.KeyAdapter {
|
||||||
|
/**
|
||||||
|
* Le plateau de jeu à recentrer lorsque la touche Espace est enfoncée.
|
||||||
|
*/
|
||||||
private Board board;
|
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) {
|
public GameSpaceKeyListener(Board board) {
|
||||||
this.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
|
@Override
|
||||||
public void keyPressed(java.awt.event.KeyEvent e) {
|
public void keyPressed(java.awt.event.KeyEvent e) {
|
||||||
if (e.getKeyCode() == java.awt.event.KeyEvent.VK_SPACE) {
|
if (e.getKeyCode() == java.awt.event.KeyEvent.VK_SPACE) {
|
||||||
|
@@ -4,14 +4,31 @@ import fr.monkhanny.dorfromantik.game.Board;
|
|||||||
|
|
||||||
import java.awt.event.MouseAdapter;
|
import java.awt.event.MouseAdapter;
|
||||||
import java.awt.event.MouseWheelEvent;
|
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 {
|
public class GameZoomListener extends MouseAdapter {
|
||||||
|
/**
|
||||||
|
* Le plateau de jeu sur lequel les actions de zoom seront effectuées.
|
||||||
|
*/
|
||||||
private Board board;
|
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) {
|
public GameZoomListener(Board board) {
|
||||||
this.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
|
@Override
|
||||||
public void mouseWheelMoved(MouseWheelEvent e) {
|
public void mouseWheelMoved(MouseWheelEvent e) {
|
||||||
// Vérifier si la touche Ctrl est enfoncée et la direction de la molette
|
// Vérifier si la touche Ctrl est enfoncée et la direction de la molette
|
||||||
|
Reference in New Issue
Block a user