continue les test

This commit is contained in:
martins 2022-04-26 16:43:29 +02:00
parent 0667cec233
commit a2062dc88f
10 changed files with 104 additions and 28 deletions

44
Makefile Normal file
View File

@ -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

Binary file not shown.

View File

@ -12,21 +12,22 @@ public class main_ex{
JFrame fenetre = new JFrame("Démineur"); JFrame fenetre = new JFrame("Démineur");
fenetre.setLocation(0,0); fenetre.setLocation(0,0);
//on choisi une taille arbitraire //on choisi une taille arbitraire
fenetre.setSize(1000,800); fenetre.setSize(1030,800);
//nous utiliserons un gestionnaire GridLayout //nous utiliserons un gestionnaire GridLayout
GridLayout grille = new GridLayout(1,3);
fenetre.setLayout(grille);
// l'application ne se fermera que si on clique sur // l'application ne se fermera que si on clique sur
fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); fenetre.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
fenetre.setVisible(true); 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 // 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);
} }
} }

Binary file not shown.

View File

@ -13,6 +13,7 @@ public class nombreCollonnesLigneEtBombe{
this.ligne=3; this.ligne=3;
this.bombe=0; this.bombe=0;
this.fenetre=fenetre0; this.fenetre=fenetre0;
this.Choix();
} }
public void setCollonne(int n){ public void setCollonne(int n){
this.collonne=n; this.collonne=n;
@ -60,6 +61,11 @@ public class nombreCollonnesLigneEtBombe{
fen2.setSize(1000,800); fen2.setSize(1000,800);
fen2.setLocation(0,0); fen2.setLocation(0,0);
fen2.setVisible(true); fen2.setVisible(true);
fen2.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
return fen2; return fen2;
} }
private void Choix(){
}
} }

Binary file not shown.

View File

@ -6,37 +6,35 @@ import java.awt.event.*;
import javax.swing.*; import javax.swing.*;
public class observateurChoix implements MouseListener{ public class observateurChoix implements MouseListener{
private int direction; private nombreCollonnesLigneEtBombe nombre;
private paintChoix pinceau;
private nombre compte;
private JFrame fenetre; private JFrame fenetre;
public observateurChoix(int direction0, paintChoix pinceau0, nombre compte0, JFrame fenetre0){ public observateurChoix(JFrame fenetre0, nombreCollonnesLigneEtBombe nombre1){
this.direction=direction0;
// pour savoir si c'est l'observateur de la fleche de gauche ou droite // pour savoir si c'est l'observateur de la fleche de gauche ou droite
this.pinceau=pinceau0; this.nombre=nombre1;
this.compte=compte0;
this.fenetre=fenetre0; this.fenetre=fenetre0;
} }
@Override @Override
public void mouseClicked(MouseEvent evenement){ public void mouseClicked(MouseEvent evenement){
this.compte.addNombre(direction);
this.fenetre.dispose(); if(nombre.getCollonnes()>6){
this.fenetre=new JFrame(); this.fenetre.dispose();
this.fenetre.setSize(1000,400); this.fenetre=nombre.getJFrame();
this.fenetre.setLocation(0,0); JLabel panneau = new JLabel("ok");
this.fenetre.setVisible(true); 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é @Override // un bouton cliqué
public void mouseEntered(MouseEvent evenement){ public void mouseEntered(MouseEvent evenement){
pinceau.selectionner(true);
pinceau.repaint();
} }
@Override // debut du survol @Override // debut du survol
public void mouseExited(MouseEvent evenement){ public void mouseExited(MouseEvent evenement){
pinceau.selectionner(false);
pinceau.repaint();
} }
@Override // fin du survol @Override // fin du survol
public void mousePressed(MouseEvent evenement){ public void mousePressed(MouseEvent evenement){

BIN
paintFond.class Normal file

Binary file not shown.

27
paintFond.java Normal file
View File

@ -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<this.getHeight(); y+=512){
for(int x=0; x<this.getWidth(); x+=512){
secondPinceau.drawImage(this.tuile, x, y, 512, 512, this);
// on peint l'image (512x512) tout les 512 pixel en fonction de la taille de la fenetre
}
}
}
}

BIN
tuile.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB