Squashed commit of the following:
commita8f543114eAuthor: ROGER <gwendal.roger@etu.univ-lyon1.fr> Date: Mon May 19 21:59:38 2025 +0200 ajout d'une fonctionnalité permettant de mettre en pause le Jeu grace à un bouton. Ajout d'un vérouillage du clavier pendant lause commit27862eb3cdAuthor: ROGER <gwendal.roger@etu.univ-lyon1.fr> Date: Fri May 16 17:10:15 2025 +0200 Ajoute de l'arret de la musique en fin de partie + arret propre de l'ordonanceur commit2fec9fc96eAuthor: ROGER <gwendal.roger@etu.univ-lyon1.fr> Date: Fri May 16 16:17:58 2025 +0200 integration du responsive dans l'affichage de la grille
This commit is contained in:
@@ -22,7 +22,7 @@ public class App {
|
||||
Grille grille = new Grille(20, 10);
|
||||
Musique musique = new Musique();
|
||||
musique.start();
|
||||
Jeu jeu = new Jeu(grille,musique);
|
||||
Jeu jeu = new Jeu(grille, musique);
|
||||
|
||||
// Views
|
||||
VueTetris vueTetris = new VueTetris(grille, jeu);
|
||||
@@ -31,6 +31,10 @@ public class App {
|
||||
IO io = new IO(jeu);
|
||||
vueTetris.addKeyListener(io);
|
||||
|
||||
new TetrisBandeauControleur(vueTetris.getVueBandeauControle(), musique, grille);//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,7 +16,7 @@ public class IO implements KeyListener {
|
||||
|
||||
@Override
|
||||
public void keyPressed(KeyEvent e) {
|
||||
if (jeu.getGrille().estEnPause()){
|
||||
if (jeu.getGrille().estEnPause()) {
|
||||
System.err.println("Grille est en pause");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -232,8 +232,6 @@ public class Grille extends Observable { // TODO: ?? implements Runnable {
|
||||
return enPause;
|
||||
}
|
||||
|
||||
|
||||
|
||||
// public void verifierEtSupprimerLignesSiBesoin() {
|
||||
|
||||
// for (int i = nbLignes - 1; i > 0; i--) {
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.Views;
|
||||
|
||||
import org.Models.GridLayoutCarre;
|
||||
import org.Models.GridLayoutCarre;
|
||||
import org.Models.PieceCourante;
|
||||
|
||||
@@ -117,5 +118,4 @@ public class VueBandeauControle extends JPanel {
|
||||
nextPiecePanel.repaint();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package org.Views;
|
||||
|
||||
import javax.swing.*;
|
||||
import javax.swing.*;
|
||||
|
||||
import org.Models.*;
|
||||
@@ -32,14 +33,14 @@ public class VueGrille extends JPanel implements Observer, Runnable {
|
||||
this.nbLignes = grille.getNbLignes();
|
||||
this.nbColonnes = grille.getNbColonnes();
|
||||
setLayout(new BorderLayout());
|
||||
grillePanel = new JPanel(new GridLayoutCarre(nbLignes,nbColonnes)); //pour que les cases soient carrés
|
||||
grillePanel = new JPanel(new GridLayoutCarre(nbLignes, nbColonnes)); // pour que les cases soient carrés
|
||||
add(grillePanel, BorderLayout.CENTER);
|
||||
casesGrille = new JPanel[nbLignes][nbColonnes];
|
||||
for (int i = 0; i < nbLignes; i++) {
|
||||
for (int j = 0; j < nbColonnes; j++) {
|
||||
JPanel caseG = new JPanel(){
|
||||
JPanel caseG = new JPanel() {
|
||||
@Override
|
||||
public Dimension getPreferredSize(){
|
||||
public Dimension getPreferredSize() {
|
||||
return super.getPreferredSize();
|
||||
}
|
||||
};
|
||||
@@ -60,7 +61,7 @@ public class VueGrille extends JPanel implements Observer, Runnable {
|
||||
public void resizeCases() {
|
||||
int largeurPanel = grillePanel.getWidth();
|
||||
int hauteurPanel = grillePanel.getHeight();
|
||||
if (largeurPanel==0||hauteurPanel==0) {
|
||||
if (largeurPanel == 0 || hauteurPanel == 0) {
|
||||
return;
|
||||
}
|
||||
int taille = Math.min(largeurPanel, hauteurPanel);
|
||||
@@ -71,7 +72,7 @@ public class VueGrille extends JPanel implements Observer, Runnable {
|
||||
int tailleCaseX = largeurPanel / nbColonnes;
|
||||
int tailleCaseY = hauteurPanel / nbLignes;
|
||||
int tailleCase = Math.min(tailleCaseX, tailleCaseY);
|
||||
Dimension taillePreferee=new Dimension(tailleCase, tailleCase);
|
||||
Dimension taillePreferee = new Dimension(tailleCase, tailleCase);
|
||||
for (int i = 0; i < nbLignes; i++) {
|
||||
for (int j = 0; j < nbColonnes; j++) {
|
||||
casesGrille[i][j].setPreferredSize(taillePreferee);
|
||||
|
||||
@@ -7,6 +7,8 @@ import javax.swing.*;
|
||||
import java.awt.*;
|
||||
import java.awt.event.ComponentAdapter;
|
||||
import java.awt.event.ComponentEvent;
|
||||
import java.awt.event.ComponentAdapter;
|
||||
import java.awt.event.ComponentEvent;
|
||||
|
||||
public class VueTetris extends JFrame {
|
||||
private static Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
|
||||
@@ -14,13 +16,16 @@ public class VueTetris extends JFrame {
|
||||
public static double tailleJFrameY = screenSize.getHeight() / 2;
|
||||
private VueGrille vueGrille;
|
||||
private VueBandeauControle vueControle;
|
||||
private VueGrille vueGrille;
|
||||
private VueBandeauControle vueControle;
|
||||
|
||||
public VueTetris(Grille grille, Jeu jeu) {
|
||||
super("Tetris");
|
||||
|
||||
this.vueGrille = new VueGrille(grille, jeu);
|
||||
this.vueControle = new VueBandeauControle();
|
||||
//TetrisBandeauControleur controleur = new TetrisBandeauControleur(vueControle);
|
||||
// TetrisBandeauControleur controleur = new
|
||||
// TetrisBandeauControleur(vueControle);
|
||||
|
||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
setLayout(new BorderLayout());
|
||||
@@ -31,7 +36,7 @@ public class VueTetris extends JFrame {
|
||||
setSize((int) tailleJFrameX, (int) tailleJFrameY);
|
||||
setLocationRelativeTo(null);
|
||||
|
||||
//listener permettanbt de redimensionner les cases de la grille
|
||||
// listener permettanbt de redimensionner les cases de la grille
|
||||
addComponentListener(new ComponentAdapter() {
|
||||
@Override
|
||||
public void componentResized(ComponentEvent e) {
|
||||
|
||||
Reference in New Issue
Block a user