SAE21_2021/CASE/main_ex.java

65 lines
1.9 KiB
Java
Raw Normal View History

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
Case[][] tab = new Case[ligne][collonne];
2022-04-28 21:31:03 +02:00
// on ajoute a la fenetre toute les case (ligne*collonne)
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
}
}