ajout d'une fonctionnalité permettant de mettre en pause le Jeu grace à un bouton. Ajout d'un vérouillage du clavier pendant lause
This commit is contained in:
@@ -31,6 +31,6 @@ public class App {
|
|||||||
IO io = new IO(jeu);
|
IO io = new IO(jeu);
|
||||||
vueTetris.addKeyListener(io);
|
vueTetris.addKeyListener(io);
|
||||||
|
|
||||||
new TetrisBandeauControleur(vueTetris.getVueBandeauControle(), musique);//Création d'un controleur de bandeau avec la musique instanciée
|
new TetrisBandeauControleur(vueTetris.getVueBandeauControle(), musique, grille);//Création d'un controleur de bandeau avec la musique instanciée
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -16,6 +16,10 @@ public class IO implements KeyListener {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void keyPressed(KeyEvent e) {
|
public void keyPressed(KeyEvent e) {
|
||||||
|
if (jeu.getGrille().estEnPause()){
|
||||||
|
System.err.println("Grille est en pause");
|
||||||
|
return;
|
||||||
|
}
|
||||||
switch (e.getKeyCode()) {
|
switch (e.getKeyCode()) {
|
||||||
case KeyEvent.VK_DOWN:
|
case KeyEvent.VK_DOWN:
|
||||||
jeu.getGrille().deplacerPiece(Direction.BAS);
|
jeu.getGrille().deplacerPiece(Direction.BAS);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.Controllers;
|
package org.Controllers;
|
||||||
|
|
||||||
|
import org.Models.Grille;
|
||||||
import org.Models.Musique;
|
import org.Models.Musique;
|
||||||
import org.Views.VueBandeauControle;
|
import org.Views.VueBandeauControle;
|
||||||
|
|
||||||
@@ -11,13 +12,15 @@ public class TetrisBandeauControleur {
|
|||||||
private boolean partieTerminee = false;
|
private boolean partieTerminee = false;
|
||||||
private Musique musique;
|
private Musique musique;
|
||||||
private VueBandeauControle vueControle;
|
private VueBandeauControle vueControle;
|
||||||
|
private Grille grille;
|
||||||
|
|
||||||
public TetrisBandeauControleur(VueBandeauControle vueControle, Musique musique) {
|
public TetrisBandeauControleur(VueBandeauControle vueControle, Musique musique, Grille grille) {
|
||||||
this.vueControle = vueControle;
|
this.vueControle = vueControle;
|
||||||
this.musique = musique;
|
this.musique = musique;
|
||||||
|
this.grille = grille;
|
||||||
// action play/pause
|
// action play/pause
|
||||||
this.vueControle.getPauseButton().addActionListener(e -> switchPlayPause());
|
this.vueControle.getPauseButton().addActionListener(e -> switchPlayPause());
|
||||||
vueControle.getQuitterButton().addActionListener(e -> {
|
this.vueControle.getQuitterButton().addActionListener(e -> {
|
||||||
System.out.println("Fermeture de l'application...");
|
System.out.println("Fermeture de l'application...");
|
||||||
System.exit(0);
|
System.exit(0);
|
||||||
});
|
});
|
||||||
@@ -29,6 +32,7 @@ public class TetrisBandeauControleur {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
partieEnPause = !partieEnPause;
|
partieEnPause = !partieEnPause;
|
||||||
|
grille.setEnPause(partieEnPause);
|
||||||
musique.basculePlayPause();
|
musique.basculePlayPause();
|
||||||
vueControle.getPauseButton().setText(partieEnPause ? "PLAY" : "PAUSE");
|
vueControle.getPauseButton().setText(partieEnPause ? "PLAY" : "PAUSE");
|
||||||
System.out.println(partieEnPause ? "Partie en pause" : "Partie en cours");
|
System.out.println(partieEnPause ? "Partie en pause" : "Partie en cours");
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ public class Grille extends Observable { // TODO: ?? implements Runnable {
|
|||||||
private PieceCourante pieceCourante;
|
private PieceCourante pieceCourante;
|
||||||
private int pieceCouranteX;
|
private int pieceCouranteX;
|
||||||
private int pieceCouranteY;
|
private int pieceCouranteY;
|
||||||
|
private boolean enPause = false;
|
||||||
|
|
||||||
public Grille(int nbLignes, int nbColonnes) {
|
public Grille(int nbLignes, int nbColonnes) {
|
||||||
this.nbLignes = nbLignes;
|
this.nbLignes = nbLignes;
|
||||||
@@ -219,4 +220,14 @@ public class Grille extends Observable { // TODO: ?? implements Runnable {
|
|||||||
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void setEnPause(boolean enPause) {
|
||||||
|
this.enPause = enPause;
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean estEnPause() {
|
||||||
|
return enPause;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -78,7 +78,7 @@ public class Jeu extends Observable implements Runnable {
|
|||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
// TODO: game logic here
|
// TODO: game logic here
|
||||||
if (!jeuEnCours) {
|
if (!jeuEnCours || grille.estEnPause()) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user