70 lines
2.1 KiB
Java
70 lines
2.1 KiB
Java
|
import java.awt.event.ActionEvent;
|
||
|
import java.awt.event.ActionListener;
|
||
|
import java.awt.event.KeyEvent;
|
||
|
import java.awt.event.KeyListener;
|
||
|
|
||
|
/**
|
||
|
* Le contrôleur pour le jeu de la grille.
|
||
|
* @version 1.0
|
||
|
* @author Moncef STITI
|
||
|
* @author Marco ORFAO
|
||
|
*/
|
||
|
public class GSPlayController implements KeyListener, ActionListener {
|
||
|
private GSPlay gsPlay;
|
||
|
|
||
|
/**
|
||
|
* Constructeur du contrôleur du jeu de la grille.
|
||
|
* @param gsPlay Le jeu de la grille associé à ce contrôleur.
|
||
|
*/
|
||
|
public GSPlayController(GSPlay gsPlay) {
|
||
|
this.gsPlay = gsPlay;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Gère les actions lorsqu'un événement se produit.
|
||
|
* @param e L'événement déclenché.
|
||
|
*/
|
||
|
@Override
|
||
|
public void actionPerformed(ActionEvent e) {
|
||
|
if (e.getSource() == gsPlay.getBoutonValider()) {
|
||
|
// Crée une fenêtre de dialogue pour afficher le temps écoulé depuis le début du jeu.
|
||
|
GSWin gestionVictoire = new GSWin(gsPlay.getStartTime());
|
||
|
gestionVictoire.showDialog();
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Gère les événements lorsque la touche est enfoncée.
|
||
|
* @param e L'événement de la touche enfoncée.
|
||
|
*/
|
||
|
@Override
|
||
|
public void keyPressed(KeyEvent e) {
|
||
|
int keyValue = gsPlay.getKeyValue(e);
|
||
|
if (keyValue != -1) {
|
||
|
// Met à jour la valeur dans la case active de la grille avec la touche appuyée.
|
||
|
gsPlay.getMaGrille().setValuetoCase(gsPlay.getMaGrille().whoIsActive_X(), gsPlay.getMaGrille().whoIsActive_Y(), keyValue);
|
||
|
// Active le bouton de validation si le jeu est terminé.
|
||
|
if (gsPlay.isGameOver()) {
|
||
|
gsPlay.getBoutonValider().setEnabled(true);
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Gère les événements lorsque la touche est relâchée.
|
||
|
* @param e L'événement de la touche relâchée.
|
||
|
*/
|
||
|
@Override
|
||
|
public void keyReleased(KeyEvent e) {
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Gère les événements lorsque la touche est tapée.
|
||
|
* @param e L'événement de la touche tapée.
|
||
|
*/
|
||
|
@Override
|
||
|
public void keyTyped(KeyEvent e) {
|
||
|
// Non utilisé
|
||
|
}
|
||
|
}
|