diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..a2f243d --- /dev/null +++ b/Makefile @@ -0,0 +1,44 @@ +# PROJET TAQUIN MAKEFILE: +# +# Chapitre 1: But final; + +but: main_ex.class + +# Chapitre 2 : Variable +OFILES= observateurChoix.class\ + nombreCollonnesLigneEtBombe.class\ + paintFond.class\ + paintChoix.class + +CFLAGS= -implicit:none + +# Chapitre 3 : Dependances (règle implicite): +observateurChoix.class: observateurChoix.java + javac $(CFLAGS) observateurChoix.java + +nombreCollonnesLigneEtBombe.class : nombreCollonnesLigneEtBombe.java + javac $(CFLAGS) nombreCollonnesLigneEtBombe.java + +paintFond.class : paintFond.java + javac $(CFLAGS) paintFond.java + +paintChoix.class: paintChoix.java + javac $(CFLAGS) paintChoix.java + +# Chapitre 4 : Dependances + + main_ex.class: $(OFILES) main_ex.java + javac $(CFLAGS) main_ex.java + +#Chapitre 5: nettoyage des fichiers generes + +clean : + -rm -f $(OFILES) taquin + +run : + java main_ex +#chapitre 6 : buts factices + +.PHONY : but clean + +.PHONY : but run diff --git a/main_ex.class b/main_ex.class index a23bbc2..a9862be 100644 Binary files a/main_ex.class and b/main_ex.class differ diff --git a/main_ex.java b/main_ex.java index a21bc4a..b2504da 100644 --- a/main_ex.java +++ b/main_ex.java @@ -12,21 +12,22 @@ public class main_ex{ JFrame fenetre = new JFrame("Démineur"); fenetre.setLocation(0,0); //on choisi une taille arbitraire - fenetre.setSize(1000,800); + fenetre.setSize(1030,800); //nous utiliserons un gestionnaire GridLayout + GridLayout grille = new GridLayout(1,3); + fenetre.setLayout(grille); // l'application ne se fermera que si on clique sur fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fenetre.setVisible(true); - + nombreCollonnesLigneEtBombe choixCLB = new nombreCollonnesLigneEtBombe(fenetre); + fenetre.addMouseListener(new observateurChoix(fenetre, choixCLB)); + JLabel test = new JLabel("1"); + fenetre.add(new paintChoix(1)); + fenetre.add(test); + fenetre.add(new paintChoix(2)); // Choix des lignes/Collonnes/Bombe - nombreCollonnesLigneEtBombe choixCLB = new nombreCollonnesLigneEtBombe(fenetre); - fenetre.dispose(); - fenetre=choixCLB.getJFrame(); - JLabel panneau = new JLabel("ok"); - panneau.setOpaque(true); - panneau.setBackground(new Color(255,0,0)); - fenetre.add(panneau); - fenetre.add(panneau); + + } } \ No newline at end of file diff --git a/nombreCollonnesLigneEtBombe.class b/nombreCollonnesLigneEtBombe.class index 6e42e38..b34beb0 100644 Binary files a/nombreCollonnesLigneEtBombe.class and b/nombreCollonnesLigneEtBombe.class differ diff --git a/nombreCollonnesLigneEtBombe.java b/nombreCollonnesLigneEtBombe.java index fcc95bb..850f9d2 100644 --- a/nombreCollonnesLigneEtBombe.java +++ b/nombreCollonnesLigneEtBombe.java @@ -13,6 +13,7 @@ public class nombreCollonnesLigneEtBombe{ this.ligne=3; this.bombe=0; this.fenetre=fenetre0; + this.Choix(); } public void setCollonne(int n){ this.collonne=n; @@ -60,6 +61,11 @@ public class nombreCollonnesLigneEtBombe{ fen2.setSize(1000,800); fen2.setLocation(0,0); fen2.setVisible(true); + fen2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); return fen2; } + private void Choix(){ + + + } } \ No newline at end of file diff --git a/observateurChoix.class b/observateurChoix.class index b14945b..6f42ab5 100644 Binary files a/observateurChoix.class and b/observateurChoix.class differ diff --git a/observateurChoix.java b/observateurChoix.java index 10dfffe..22026a6 100644 --- a/observateurChoix.java +++ b/observateurChoix.java @@ -6,37 +6,35 @@ import java.awt.event.*; import javax.swing.*; public class observateurChoix implements MouseListener{ - private int direction; - private paintChoix pinceau; - private nombre compte; + private nombreCollonnesLigneEtBombe nombre; private JFrame fenetre; - public observateurChoix(int direction0, paintChoix pinceau0, nombre compte0, JFrame fenetre0){ - this.direction=direction0; + public observateurChoix(JFrame fenetre0, nombreCollonnesLigneEtBombe nombre1){ // pour savoir si c'est l'observateur de la fleche de gauche ou droite - this.pinceau=pinceau0; - this.compte=compte0; + this.nombre=nombre1; this.fenetre=fenetre0; } @Override public void mouseClicked(MouseEvent evenement){ - this.compte.addNombre(direction); - this.fenetre.dispose(); - this.fenetre=new JFrame(); - this.fenetre.setSize(1000,400); - this.fenetre.setLocation(0,0); - this.fenetre.setVisible(true); + + if(nombre.getCollonnes()>6){ + this.fenetre.dispose(); + this.fenetre=nombre.getJFrame(); + JLabel panneau = new JLabel("ok"); + panneau.setOpaque(true); + panneau.setBackground(new Color(255,0,0)); + fenetre.add(panneau); + fenetre.add(panneau); + } + System.out.println("ok"); + System.out.println(this.nombre.getCollonnes()); + this.nombre.setCollonne(nombre.getCollonnes()+1); } @Override // un bouton cliqué public void mouseEntered(MouseEvent evenement){ - pinceau.selectionner(true); - pinceau.repaint(); } @Override // debut du survol public void mouseExited(MouseEvent evenement){ - pinceau.selectionner(false); - pinceau.repaint(); - } @Override // fin du survol public void mousePressed(MouseEvent evenement){ diff --git a/paintFond.class b/paintFond.class new file mode 100644 index 0000000..ad529fa Binary files /dev/null and b/paintFond.class differ diff --git a/paintFond.java b/paintFond.java new file mode 100644 index 0000000..ed165af --- /dev/null +++ b/paintFond.java @@ -0,0 +1,27 @@ +//Clément martins + +import java.awt.*; +import javax.swing.*; + +public class paintFond extends JComponent { + private Image tuile= Toolkit.getDefaultToolkit().getImage("./tuile.jpg"); + +@Override + protected void paintComponent(Graphics pinceau) { + // obligatoire : on crée un nouveau pinceau pour pouvoir le modifier plus tard + Graphics secondPinceau = pinceau.create(); + // obligatoire : si le composant n'est pas censé être transparent + if (this.isOpaque()) { + // obligatoire : on repeint toute la surface avec la couleur de fond + secondPinceau.setColor(this.getBackground()); + secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); + } + // maintenant on dessine ce que l'on veut + for(int y=0; y