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);
|
Grille grille = new Grille(20, 10);
|
||||||
Musique musique = new Musique();
|
Musique musique = new Musique();
|
||||||
musique.start();
|
musique.start();
|
||||||
Jeu jeu = new Jeu(grille,musique);
|
Jeu jeu = new Jeu(grille, musique);
|
||||||
|
|
||||||
// Views
|
// Views
|
||||||
VueTetris vueTetris = new VueTetris(grille, jeu);
|
VueTetris vueTetris = new VueTetris(grille, jeu);
|
||||||
@@ -31,6 +31,10 @@ public class App {
|
|||||||
IO io = new IO(jeu);
|
IO io = new IO(jeu);
|
||||||
vueTetris.addKeyListener(io);
|
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
|
@Override
|
||||||
public void keyPressed(KeyEvent e) {
|
public void keyPressed(KeyEvent e) {
|
||||||
if (jeu.getGrille().estEnPause()){
|
if (jeu.getGrille().estEnPause()) {
|
||||||
System.err.println("Grille est en pause");
|
System.err.println("Grille est en pause");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -232,8 +232,6 @@ public class Grille extends Observable { // TODO: ?? implements Runnable {
|
|||||||
return enPause;
|
return enPause;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// public void verifierEtSupprimerLignesSiBesoin() {
|
// public void verifierEtSupprimerLignesSiBesoin() {
|
||||||
|
|
||||||
// for (int i = nbLignes - 1; i > 0; i--) {
|
// for (int i = nbLignes - 1; i > 0; i--) {
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.Views;
|
package org.Views;
|
||||||
|
|
||||||
|
import org.Models.GridLayoutCarre;
|
||||||
import org.Models.GridLayoutCarre;
|
import org.Models.GridLayoutCarre;
|
||||||
import org.Models.PieceCourante;
|
import org.Models.PieceCourante;
|
||||||
|
|
||||||
@@ -117,5 +118,4 @@ public class VueBandeauControle extends JPanel {
|
|||||||
nextPiecePanel.repaint();
|
nextPiecePanel.repaint();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
package org.Views;
|
package org.Views;
|
||||||
|
|
||||||
|
import javax.swing.*;
|
||||||
import javax.swing.*;
|
import javax.swing.*;
|
||||||
|
|
||||||
import org.Models.*;
|
import org.Models.*;
|
||||||
@@ -32,14 +33,14 @@ public class VueGrille extends JPanel implements Observer, Runnable {
|
|||||||
this.nbLignes = grille.getNbLignes();
|
this.nbLignes = grille.getNbLignes();
|
||||||
this.nbColonnes = grille.getNbColonnes();
|
this.nbColonnes = grille.getNbColonnes();
|
||||||
setLayout(new BorderLayout());
|
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);
|
add(grillePanel, BorderLayout.CENTER);
|
||||||
casesGrille = new JPanel[nbLignes][nbColonnes];
|
casesGrille = new JPanel[nbLignes][nbColonnes];
|
||||||
for (int i = 0; i < nbLignes; i++) {
|
for (int i = 0; i < nbLignes; i++) {
|
||||||
for (int j = 0; j < nbColonnes; j++) {
|
for (int j = 0; j < nbColonnes; j++) {
|
||||||
JPanel caseG = new JPanel(){
|
JPanel caseG = new JPanel() {
|
||||||
@Override
|
@Override
|
||||||
public Dimension getPreferredSize(){
|
public Dimension getPreferredSize() {
|
||||||
return super.getPreferredSize();
|
return super.getPreferredSize();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
@@ -60,7 +61,7 @@ public class VueGrille extends JPanel implements Observer, Runnable {
|
|||||||
public void resizeCases() {
|
public void resizeCases() {
|
||||||
int largeurPanel = grillePanel.getWidth();
|
int largeurPanel = grillePanel.getWidth();
|
||||||
int hauteurPanel = grillePanel.getHeight();
|
int hauteurPanel = grillePanel.getHeight();
|
||||||
if (largeurPanel==0||hauteurPanel==0) {
|
if (largeurPanel == 0 || hauteurPanel == 0) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
int taille = Math.min(largeurPanel, hauteurPanel);
|
int taille = Math.min(largeurPanel, hauteurPanel);
|
||||||
@@ -71,7 +72,7 @@ public class VueGrille extends JPanel implements Observer, Runnable {
|
|||||||
int tailleCaseX = largeurPanel / nbColonnes;
|
int tailleCaseX = largeurPanel / nbColonnes;
|
||||||
int tailleCaseY = hauteurPanel / nbLignes;
|
int tailleCaseY = hauteurPanel / nbLignes;
|
||||||
int tailleCase = Math.min(tailleCaseX, tailleCaseY);
|
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 i = 0; i < nbLignes; i++) {
|
||||||
for (int j = 0; j < nbColonnes; j++) {
|
for (int j = 0; j < nbColonnes; j++) {
|
||||||
casesGrille[i][j].setPreferredSize(taillePreferee);
|
casesGrille[i][j].setPreferredSize(taillePreferee);
|
||||||
|
|||||||
@@ -7,6 +7,8 @@ import javax.swing.*;
|
|||||||
import java.awt.*;
|
import java.awt.*;
|
||||||
import java.awt.event.ComponentAdapter;
|
import java.awt.event.ComponentAdapter;
|
||||||
import java.awt.event.ComponentEvent;
|
import java.awt.event.ComponentEvent;
|
||||||
|
import java.awt.event.ComponentAdapter;
|
||||||
|
import java.awt.event.ComponentEvent;
|
||||||
|
|
||||||
public class VueTetris extends JFrame {
|
public class VueTetris extends JFrame {
|
||||||
private static Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
|
private static Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
|
||||||
@@ -14,13 +16,16 @@ public class VueTetris extends JFrame {
|
|||||||
public static double tailleJFrameY = screenSize.getHeight() / 2;
|
public static double tailleJFrameY = screenSize.getHeight() / 2;
|
||||||
private VueGrille vueGrille;
|
private VueGrille vueGrille;
|
||||||
private VueBandeauControle vueControle;
|
private VueBandeauControle vueControle;
|
||||||
|
private VueGrille vueGrille;
|
||||||
|
private VueBandeauControle vueControle;
|
||||||
|
|
||||||
public VueTetris(Grille grille, Jeu jeu) {
|
public VueTetris(Grille grille, Jeu jeu) {
|
||||||
super("Tetris");
|
super("Tetris");
|
||||||
|
|
||||||
this.vueGrille = new VueGrille(grille, jeu);
|
this.vueGrille = new VueGrille(grille, jeu);
|
||||||
this.vueControle = new VueBandeauControle();
|
this.vueControle = new VueBandeauControle();
|
||||||
//TetrisBandeauControleur controleur = new TetrisBandeauControleur(vueControle);
|
// TetrisBandeauControleur controleur = new
|
||||||
|
// TetrisBandeauControleur(vueControle);
|
||||||
|
|
||||||
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||||
setLayout(new BorderLayout());
|
setLayout(new BorderLayout());
|
||||||
@@ -31,7 +36,7 @@ public class VueTetris extends JFrame {
|
|||||||
setSize((int) tailleJFrameX, (int) tailleJFrameY);
|
setSize((int) tailleJFrameX, (int) tailleJFrameY);
|
||||||
setLocationRelativeTo(null);
|
setLocationRelativeTo(null);
|
||||||
|
|
||||||
//listener permettanbt de redimensionner les cases de la grille
|
// listener permettanbt de redimensionner les cases de la grille
|
||||||
addComponentListener(new ComponentAdapter() {
|
addComponentListener(new ComponentAdapter() {
|
||||||
@Override
|
@Override
|
||||||
public void componentResized(ComponentEvent e) {
|
public void componentResized(ComponentEvent e) {
|
||||||
|
|||||||
Reference in New Issue
Block a user