ajout 2eme SAE DEV 1ere année 15,50/20
This commit is contained in:
78
SAE21_2024/code_source/Fenetre.java
Normal file
78
SAE21_2024/code_source/Fenetre.java
Normal file
@@ -0,0 +1,78 @@
|
||||
/**
|
||||
* La classe <code>Fenetre</code> représente la fenêtre principale du jeu SameGame.
|
||||
* Elle contient l’affichage graphique de la grille, le score, et le contrôleur de la souris.
|
||||
*
|
||||
* @version 1.7
|
||||
* @author Emmanuel Srivastava-Tiamzon & Wael Atik
|
||||
*/
|
||||
|
||||
import javax.swing.*;
|
||||
import java.awt.*;
|
||||
|
||||
public class Fenetre extends JFrame {
|
||||
|
||||
/** Label affichant le score du joueur. */
|
||||
private JLabel labelScore;
|
||||
|
||||
/**
|
||||
* Constructeur de la fenêtre principale.
|
||||
* Initialise les composants graphiques du jeu : la grille, la vue, le score et le contrôleur souris.
|
||||
*/
|
||||
public Fenetre() {
|
||||
super("SameGame");
|
||||
|
||||
Grille grille = new Grille();
|
||||
|
||||
int tailleBloc = 50;
|
||||
int largeur = grille.getColonnes() * tailleBloc;
|
||||
int hauteur = grille.getLignes() * tailleBloc;
|
||||
|
||||
JeuBlocs vue = new JeuBlocs(grille, largeur, hauteur);
|
||||
this.labelScore = new JLabel("Score : 0");
|
||||
this.labelScore.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
this.labelScore.setFont(new Font("Arial", Font.BOLD, 18));
|
||||
|
||||
ControleurSouris controleur = new ControleurSouris(grille, vue, this.labelScore,this);
|
||||
vue.addMouseListener(controleur);
|
||||
|
||||
this.setLayout(new BorderLayout());
|
||||
this.add(this.labelScore, BorderLayout.NORTH);
|
||||
this.add(vue, BorderLayout.CENTER);
|
||||
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
this.setSize(largeur + 11, hauteur + 61);
|
||||
this.setLocationRelativeTo(null);
|
||||
this.setVisible(true);
|
||||
}
|
||||
/**
|
||||
* Par polymorphisme on crée un nouveau constructeur pour qu'il s'adapte à une grille predefini
|
||||
*/
|
||||
public Fenetre(Grille grille) {
|
||||
super("SameGame");
|
||||
|
||||
int tailleBloc = 50;
|
||||
int largeur = grille.getColonnes() * tailleBloc;
|
||||
int hauteur = grille.getLignes() * tailleBloc;
|
||||
|
||||
JeuBlocs vue = new JeuBlocs(grille, largeur, hauteur);
|
||||
this.labelScore = new JLabel("Score : 0");
|
||||
this.labelScore.setHorizontalAlignment(SwingConstants.CENTER);
|
||||
this.labelScore.setFont(new Font("Arial", Font.BOLD, 18));
|
||||
|
||||
ControleurSouris controleur = new ControleurSouris(grille, vue, this.labelScore,this);
|
||||
vue.addMouseListener(controleur);
|
||||
|
||||
this.setLayout(new BorderLayout());
|
||||
this.add(this.labelScore, BorderLayout.NORTH);
|
||||
this.add(vue, BorderLayout.CENTER);
|
||||
|
||||
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
||||
this.setSize(largeur + 11, hauteur + 61);
|
||||
this.setLocationRelativeTo(null);
|
||||
this.setVisible(true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user