From aa6ab95728f3cfcd9f1e0212e5bc9804666f906a Mon Sep 17 00:00:00 2001 From: Morph01 <145839520+Morph01@users.noreply.github.com> Date: Mon, 19 May 2025 22:16:42 +0200 Subject: [PATCH] Squashed commit of the following: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit commit a8f543114e3946ecd25237c47d8b9ebe8674473b Author: ROGER 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 commit 27862eb3cd38b2e2f2d02cdc95c838e1a9735e15 Author: ROGER 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 commit 2fec9fc96e1bfb4ff97b3d065380ec0b8b9f2b47 Author: ROGER Date: Fri May 16 16:17:58 2025 +0200 integration du responsive dans l'affichage de la grille --- app/src/main/java/org/App.java | 36 ++++++++++--------- app/src/main/java/org/Controllers/IO.java | 2 +- app/src/main/java/org/Models/Grille.java | 2 -- .../java/org/Views/VueBandeauControle.java | 2 +- app/src/main/java/org/Views/VueGrille.java | 11 +++--- app/src/main/java/org/Views/VueTetris.java | 9 +++-- 6 files changed, 35 insertions(+), 27 deletions(-) diff --git a/app/src/main/java/org/App.java b/app/src/main/java/org/App.java index f848731..b181a3c 100644 --- a/app/src/main/java/org/App.java +++ b/app/src/main/java/org/App.java @@ -12,25 +12,29 @@ import org.Views.VueTetris; public class App { - public String getGreeting() { - return "Hello World!"; - } + public String getGreeting() { + return "Hello World!"; + } - public static void main(String[] args) { + public static void main(String[] args) { - // Models - Grille grille = new Grille(20, 10); - Musique musique = new Musique(); - musique.start(); - Jeu jeu = new Jeu(grille,musique); + // Models + Grille grille = new Grille(20, 10); + Musique musique = new Musique(); + musique.start(); + Jeu jeu = new Jeu(grille, musique); - // Views - VueTetris vueTetris = new VueTetris(grille, jeu); + // Views + VueTetris vueTetris = new VueTetris(grille, jeu); - // Controllers - IO io = new IO(jeu); - vueTetris.addKeyListener(io); + // Controllers + 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 + } } \ No newline at end of file diff --git a/app/src/main/java/org/Controllers/IO.java b/app/src/main/java/org/Controllers/IO.java index 2f2bc45..56682a1 100644 --- a/app/src/main/java/org/Controllers/IO.java +++ b/app/src/main/java/org/Controllers/IO.java @@ -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; } diff --git a/app/src/main/java/org/Models/Grille.java b/app/src/main/java/org/Models/Grille.java index 8d5d328..d38e30c 100644 --- a/app/src/main/java/org/Models/Grille.java +++ b/app/src/main/java/org/Models/Grille.java @@ -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--) { diff --git a/app/src/main/java/org/Views/VueBandeauControle.java b/app/src/main/java/org/Views/VueBandeauControle.java index 4e3bb83..cbb6b75 100644 --- a/app/src/main/java/org/Views/VueBandeauControle.java +++ b/app/src/main/java/org/Views/VueBandeauControle.java @@ -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(); } - } \ No newline at end of file diff --git a/app/src/main/java/org/Views/VueGrille.java b/app/src/main/java/org/Views/VueGrille.java index edac47f..d86fb56 100644 --- a/app/src/main/java/org/Views/VueGrille.java +++ b/app/src/main/java/org/Views/VueGrille.java @@ -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); diff --git a/app/src/main/java/org/Views/VueTetris.java b/app/src/main/java/org/Views/VueTetris.java index cff6601..f0c02f8 100644 --- a/app/src/main/java/org/Views/VueTetris.java +++ b/app/src/main/java/org/Views/VueTetris.java @@ -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) {