2022-04-27 13:19:57 +02:00
|
|
|
// Tom Monint et Clément Martins
|
2022-04-28 21:31:03 +02:00
|
|
|
// main_ex V4
|
2022-04-27 13:19:57 +02:00
|
|
|
// Classe ayant pour but d'être executer
|
|
|
|
|
|
|
|
//importons les packages necessaires
|
|
|
|
import java.awt.*;
|
|
|
|
import javax.swing.*;
|
|
|
|
|
|
|
|
public class main_ex{
|
|
|
|
public static void main(String[] Args){
|
|
|
|
// on initialise une fenettre
|
|
|
|
JFrame fenetre = new JFrame("Démineur");
|
2022-04-29 00:33:24 +02:00
|
|
|
int ligne=10;
|
|
|
|
int collonne=20;
|
|
|
|
int bombe=30;
|
2022-04-27 13:19:57 +02:00
|
|
|
fenetre.setLocation(0,0);
|
|
|
|
//on choisi une taille arbitraire
|
2022-04-29 00:33:24 +02:00
|
|
|
|
2022-04-28 21:31:03 +02:00
|
|
|
//nous utiliserons un gestionnaire GridLayout de dimensions choisi précédament
|
2022-04-29 00:33:24 +02:00
|
|
|
GridLayout grille = new GridLayout(ligne+1,collonne);
|
|
|
|
paintMenuJeu[] tabScore= new paintMenuJeu[3];
|
|
|
|
for(int i=0; i<collonne; i++){
|
|
|
|
paintMenuJeu menu= new paintMenuJeu(0, bombe);
|
|
|
|
menu.setPreferredSize(new Dimension(100,100));
|
|
|
|
if(i==1){
|
|
|
|
tabScore[0]=menu;
|
|
|
|
menu.setChoix(1);
|
|
|
|
}
|
|
|
|
if(i==2){
|
|
|
|
tabScore[1]=menu;
|
|
|
|
menu.setChoix(2);
|
|
|
|
}
|
|
|
|
if(i==3){
|
|
|
|
tabScore[2]=menu;
|
|
|
|
menu.setChoix(3);
|
|
|
|
}
|
|
|
|
if(i==collonne-1){
|
|
|
|
menu.setChoix(4);
|
|
|
|
menu.addMouseListener(new observateurSAV(menu, fenetre));
|
|
|
|
}
|
|
|
|
fenetre.add(menu);
|
|
|
|
}
|
2022-04-27 13:19:57 +02:00
|
|
|
fenetre.setLayout(grille);
|
|
|
|
// l'application ne se fermera que si on clique sur
|
|
|
|
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
|
|
|
|
fenetre.setVisible(true);
|
2022-04-28 21:31:03 +02:00
|
|
|
// nous creons le tableau de Case qui représente l'etat du jeu
|
2022-04-28 18:15:17 +02:00
|
|
|
Case[][] tab = new Case[ligne][collonne];
|
2022-04-28 21:31:03 +02:00
|
|
|
// on ajoute a la fenetre toute les case (ligne*collonne)
|
2022-04-28 18:15:17 +02:00
|
|
|
for(int i=0; i<ligne; i++){
|
|
|
|
for(int t=0; t<collonne; t++){
|
2022-04-27 13:19:57 +02:00
|
|
|
tab[i][t]= new Case();
|
2022-04-29 00:33:24 +02:00
|
|
|
tab[i][t].setPreferredSize(new Dimension(50,50));
|
2022-04-28 21:31:03 +02:00
|
|
|
//nous ajoutons aussi a chaque case son observateur de case
|
2022-04-29 00:33:24 +02:00
|
|
|
tab[i][t].addMouseListener(new observateurCase(i, t, tab, tabScore));
|
2022-04-27 13:19:57 +02:00
|
|
|
fenetre.add(tab[i][t]);
|
|
|
|
}
|
|
|
|
}
|
2022-04-28 21:31:03 +02:00
|
|
|
//nous disposons les bombe dans le jeu
|
2022-04-29 00:33:24 +02:00
|
|
|
plateau.setAllBombe(bombe, ligne, collonne, tab);
|
2022-04-28 21:31:03 +02:00
|
|
|
//maitenant que les bombe sont mise nous pouvons modifier le nombre de voisin des cases
|
2022-04-28 20:43:37 +02:00
|
|
|
plateau.setAllVoisin(tab);
|
2022-04-29 00:33:24 +02:00
|
|
|
fenetre.pack();
|
2022-04-27 13:19:57 +02:00
|
|
|
}
|
|
|
|
}
|