This commit is contained in:
martins 2022-05-09 16:19:50 +02:00
parent 4d37f44a0b
commit 25a6625637
7 changed files with 19 additions and 16 deletions

Binary file not shown.

View File

@ -42,7 +42,7 @@ public class observateurButtonEtText implements ActionListener {
}
}
if(this.fonction==2){
if(this.plat.getLigne()!=-1 && this.plat.getLigne()!=-1 && this.plat.getBombe()!=-1){
if(this.plat.getLigne()!=-1 && this.plat.getCollonne()!=-1 && this.plat.getBombe()!=-1){
this.plat.newGame();
}
}

Binary file not shown.

View File

@ -20,6 +20,7 @@ public class observateurSAV implements MouseListener{
plat.save();
}
if(this.fonction==true){
plat= new plateau(plat.getFenetre());
plat.menuChoixTypePartie();
}
}

Binary file not shown.

View File

@ -312,13 +312,19 @@ public class plateau{
this.fenetre.setVisible(true);
//on ajoute son observateur (pour savegarder la partie si on ferme la fenetre)
this.fenetre.addWindowListener(new observateurFenetre(this));
this.fenetre.setBackground(new Color(0,0,0));
JPanel panJeu = new JPanel();
JPanel panMenu = new JPanel();
panJeu.setBackground(new Color(0,0,0));
panMenu.setBackground(new Color(0,0,0));
//on met un gestionaires de mise en page grille avec le nombre de ligne+1 (pour le menu en haut) et le nombre de collonne
this.fenetre.setLayout(new GridLayout(this.ligne+1,this.collonne));
panJeu.setLayout(new GridLayout(this.ligne,this.collonne));
panMenu.setLayout(new GridLayout(1, 7));
//on met en place le menu du haut et donc toute la première ligne
for(int i=0; i<collonne; i++){
for(int i=0; i<10; i++){
paintMenuJeu menu= new paintMenuJeu(0, score, bombe);
//nous mettons des dimensions convenable pour des Case
menu.setPreferredSize(new Dimension(100,100));
menu.setPreferredSize(new Dimension(50,50));
//les 3 premières case serons consacrés au score
if(i==0){
this.tabScore[0]=menu;
@ -333,7 +339,7 @@ public class plateau{
menu.setChoix(3);
}
//et la derniere au logo
if(i==collonne-1){
if(i==9){
menu.setChoix(4);
this.setLogo(menu);
observateurSAV observateur=new observateurSAV(menu, this);
@ -341,15 +347,17 @@ public class plateau{
this.setObservateur(observateur);
}
//sinon le composant sera juste sobre
fenetre.add(menu);
panMenu.add(menu);
}
//on ajoute ensuite toutes les Case a la fenetre
for(int i=0; i<ligne; i++){
for(int t=0;t<collonne; t++){
this.fenetre.add(this.tableau[i][t]);
panJeu.add(this.tableau[i][t]);
this.tableau[i][t].addMouseListener(new observateurCase(i, t, this.tableau, this));
}
}
this.fenetre.add(panMenu, BorderLayout.NORTH);
this.fenetre.add(panJeu, BorderLayout.CENTER);
//on ajuste la taille de la fenetre a son contenu
this.fenetre.pack();
}
@ -360,6 +368,7 @@ public class plateau{
//créons une nouvelle
this.fenetre= new JFrame("démineur");
this.fenetre.setLocation(0,0);
this.fenetre.setSize(1600, 1000);
this.fenetre.setVisible(true);
this.fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
//nous utiliserons un gestionnaires avec 27 ligne(de 4 a 30 ligne/collonne) et 3 collonne
@ -374,14 +383,12 @@ public class plateau{
//aligment Central plus estetique
texte1.setHorizontalAlignment(JLabel.CENTER);
texte2.setHorizontalAlignment(JLabel.CENTER);
JTextField nbombe = new JTextField("0");
JTextField nbombe = new JTextField("????");
//nous ajoutons les Case
for(int i=0; i<27; i++){
//creons les composant
paintChoix pinceau = new paintChoix(i, 1);
paintChoix pinceau2 = new paintChoix(i, 2);
pinceau.setPreferredSize(new Dimension(700,100));
pinceau2.setPreferredSize(new Dimension(500, 100));
if(i==0){
//si c'est la première Case alors ça sera la première pour sa ligne
premier=pinceau;
@ -437,8 +444,6 @@ public class plateau{
//enfin nous ajoutons sur la 3ième collonne le 2ième paintChoix
this.fenetre.add(pinceau2);
}
//nous ajustons la fenetre a la taille de son contenue volontairement grand qui poussera sûrment un plein ecran (2700x2100)
this.fenetre.pack();
}
//-----------------------------------------> Fonction pour l'affichage du premier menu (nouvelle partie/reprendrePartie/quitter) <---------------------
public void menuChoixTypePartie(){
@ -446,6 +451,7 @@ public class plateau{
this.fenetre.dispose();
this.fenetre= new JFrame("démineur");
this.fenetre.setLocation(0,0);
this.fenetre.setSize(1600, 1000);
this.fenetre.setVisible(true);
this.fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.fenetre.setLayout(new FlowLayout());
@ -461,13 +467,9 @@ public class plateau{
pan1.add(nouveau);
pan2.add(reprende);
pan3.add(quitter);
pan1.setPreferredSize(new Dimension(800, 800));
pan2.setPreferredSize(new Dimension(800, 800));
pan3.setPreferredSize(new Dimension(800, 800));
this.fenetre.add(pan1);
this.fenetre.add(pan2);
this.fenetre.add(pan3);
this.fenetre.pack();
//nous ajustons la fenetre a la taille de son contenue volontairement grand qui poussera sûrment un plein ecran (2000x2000)
}
}

Binary file not shown.