ajout de la selection evidente et modif visuelle

This commit is contained in:
martins 2022-04-28 18:15:17 +02:00
parent 7bbb4a8dee
commit a524804fad
6 changed files with 309 additions and 30 deletions

Binary file not shown.

View File

@ -46,6 +46,12 @@ public class Case extends JComponent{
return false; return false;
} }
} }
public boolean getVisibiliter(){
return this.visibilite;
}
public int getVoisin(){
return this.voisin;
}
@Override @Override
protected void paintComponent(Graphics pinceau) { protected void paintComponent(Graphics pinceau) {
// obligatoire : on crée un nouveau pinceau pour pouvoir le modifier plus tard // obligatoire : on crée un nouveau pinceau pour pouvoir le modifier plus tard
@ -57,13 +63,19 @@ public class Case extends JComponent{
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
} }
if(this.visibilite==false){ if(this.visibilite==false){
secondPinceau.setColor(new Color(100,100,100)); secondPinceau.setColor(new Color(0,0,0));
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
secondPinceau.setColor(new Color(200, 200, 200)); secondPinceau.setColor(new Color(100, 100, 100));
secondPinceau.fillRect(this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18); secondPinceau.fillRect(this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18);
if(this.suspition==1){
secondPinceau.drawImage(this.etoile, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this);
}
if(this.suspition==2){
secondPinceau.drawImage(this.interogation, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this);
}
} }
if(this.visibilite==true){ if(this.visibilite==true){
secondPinceau.setColor(new Color(100,100,100)); secondPinceau.setColor(new Color(0,0,0));
secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight()); secondPinceau.fillRect(0, 0, this.getWidth(), this.getHeight());
secondPinceau.setColor(new Color(255, 255, 255)); secondPinceau.setColor(new Color(255, 255, 255));
secondPinceau.fillRect(this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18); secondPinceau.fillRect(this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18);
@ -71,18 +83,11 @@ public class Case extends JComponent{
if(this.voisin>0){ if(this.voisin>0){
secondPinceau.drawString(String.valueOf(voisin), this.getWidth()/2, this.getHeight()/2); secondPinceau.drawString(String.valueOf(voisin), this.getWidth()/2, this.getHeight()/2);
} }
} if(this.bombe==true){
if(this.suspition==1 && this.visibilite==false){
secondPinceau.drawImage(this.etoile, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this);
}
if(this.suspition==2 && this.visibilite==false){
secondPinceau.drawImage(this.interogation, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this);
}
if(this.bombe==true && this.visibilite==true){
secondPinceau.setColor(new Color(255,0,125)); secondPinceau.setColor(new Color(255,0,125));
secondPinceau.fillRect(this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18); secondPinceau.fillRect(this.getWidth()/20, this.getHeight()/20, this.getWidth()/20*18, this.getHeight()/20*18);
secondPinceau.drawImage(this.imgboombe, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this); secondPinceau.drawImage(this.imgboombe, this.getWidth()/20*5, this.getHeight()/20*5, this.getWidth()/20*10, this.getHeight()/20*10 ,this);
} }
} }
} }
}

Binary file not shown.

View File

@ -10,25 +10,27 @@ public class main_ex{
public static void main(String[] Args){ public static void main(String[] Args){
// on initialise une fenettre // on initialise une fenettre
JFrame fenetre = new JFrame("Démineur"); JFrame fenetre = new JFrame("Démineur");
int ligne=8;
int collonne=10;
fenetre.setLocation(0,0); fenetre.setLocation(0,0);
//on choisi une taille arbitraire //on choisi une taille arbitraire
fenetre.setSize(1500,800); fenetre.setSize(1500,800);
//nous utiliserons un gestionnaire GridLayout //nous utiliserons un gestionnaire GridLayout
GridLayout grille = new GridLayout(14,8); GridLayout grille = new GridLayout(ligne,collonne);
fenetre.setLayout(grille); 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);
Case[][] tab = new Case[14][8]; Case[][] tab = new Case[ligne][collonne];
for(int i=0; i<14; i++){ for(int i=0; i<ligne; i++){
for(int t=0; t<8; t++){ for(int t=0; t<collonne; t++){
tab[i][t]= new Case(); tab[i][t]= new Case();
tab[i][t].addMouseListener(new observateurCase(tab[i][t], tab)); tab[i][t].addMouseListener(new observateurCase(i, t, tab));
fenetre.add(tab[i][t]); fenetre.add(tab[i][t]);
} }
} }
plateau plat = new plateau(tab); plateau plat = new plateau(tab);
plat.setAllBombe(18, 14, 8); plat.setAllBombe(8, ligne, collonne);
plat.setAllVoisin(); plat.setAllVoisin();
} }
} }

Binary file not shown.

View File

@ -6,24 +6,29 @@ import java.awt.event.*;
import javax.swing.*; import javax.swing.*;
public class observateurCase implements MouseListener{ public class observateurCase implements MouseListener{
private Case case1; private int ligne, collonne;
private Case[][] tableau; private Case[][] tableau;
public observateurCase(Case case10, Case[][] tableau0){ private plateau plat;
public observateurCase(int ligne0, int collonne0, Case[][] tableau0){
// 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.case1=case10; this.ligne=ligne0;
this.collonne=collonne0;
this.tableau=tableau0; this.tableau=tableau0;
} }
@Override @Override
public void mouseClicked(MouseEvent evenement){ public void mouseClicked(MouseEvent evenement){
if(evenement.getButton() == MouseEvent.BUTTON1){ if(evenement.getButton() == MouseEvent.BUTTON1){
if(case1.getSuspition()==false){ if(this.tableau[this.ligne][this.collonne].getSuspition()==false){
case1.setVisibiliter(true); this.tableau[this.ligne][this.collonne].setVisibiliter(true);
case1.repaint(); this.tableau[this.ligne][this.collonne].repaint();
if(this.tableau[this.ligne][this.collonne].getVoisin()==0){
this.cliqueEvident(this.ligne, this.collonne);
}
} }
} }
if(evenement.getButton() == MouseEvent.BUTTON3){ if(evenement.getButton() == MouseEvent.BUTTON3){
case1.suspition(); this.tableau[this.ligne][this.collonne].suspition();
case1.repaint(); this.tableau[this.ligne][this.collonne].repaint();
} }
} }
@Override // un bouton cliqué @Override // un bouton cliqué
@ -41,5 +46,272 @@ public class observateurCase implements MouseListener{
public void mouseReleased(MouseEvent evenement){ public void mouseReleased(MouseEvent evenement){
} }
private void cliqueEvident(int ligneDelta, int collonneDelta){
if(ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta].getBombe()==false){
this.haut(ligneDelta-1, collonneDelta);
}
if(ligneDelta<tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta].getBombe()==false){
this.bas(ligneDelta+1, collonneDelta);
}
if(collonneDelta<tableau[ligneDelta].length-1 && this.tableau[ligneDelta][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta+1].getBombe()==false){
this.droite(ligneDelta, collonneDelta+1);
}
if(collonneDelta>0 && this.tableau[ligneDelta][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta-1].getBombe()==false){
this.gauche(ligneDelta, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta-1].getBombe()==false){
this.diaghautgauche(ligneDelta-1, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta-1].getBombe()==false){
this.diagbasgauche(ligneDelta+1, collonneDelta-1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta+1].getBombe()==false){
this.diaghautdroite(ligneDelta-1, collonneDelta+1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta+1].getBombe()==false){
this.diagbasdroite(ligneDelta+1, collonneDelta+1);
}
}
private void haut(int ligneDelta, int collonneDelta){
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
this.tableau[ligneDelta][collonneDelta].repaint();
this.affichageVoisinEvident(ligneDelta, collonneDelta);
if(ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta].getBombe()==false){
this.haut(ligneDelta-1, collonneDelta);
}
if(collonneDelta<tableau[ligneDelta].length-1 && this.tableau[ligneDelta][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta+1].getBombe()==false){
this.droite(ligneDelta, collonneDelta+1);
}
if(collonneDelta>0 && this.tableau[ligneDelta][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta-1].getBombe()==false){
this.gauche(ligneDelta, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta-1].getBombe()==false){
this.diaghautgauche(ligneDelta-1, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta-1].getBombe()==false){
this.diagbasgauche(ligneDelta+1, collonneDelta-1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta+1].getBombe()==false){
this.diaghautdroite(ligneDelta-1, collonneDelta+1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta+1].getBombe()==false){
this.diagbasdroite(ligneDelta+1, collonneDelta+1);
}
}
private void bas(int ligneDelta, int collonneDelta){
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
this.tableau[ligneDelta][collonneDelta].repaint();
this.affichageVoisinEvident(ligneDelta, collonneDelta);
if(ligneDelta<tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta].getBombe()==false){
this.bas(ligneDelta+1, collonneDelta);
}
if(collonneDelta<tableau[ligneDelta].length-1 && this.tableau[ligneDelta][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta+1].getBombe()==false){
this.droite(ligneDelta, collonneDelta+1);
}
if(collonneDelta>0 && this.tableau[ligneDelta][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta-1].getBombe()==false){
this.gauche(ligneDelta, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta-1].getBombe()==false){
this.diaghautgauche(ligneDelta-1, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta-1].getBombe()==false){
this.diagbasgauche(ligneDelta+1, collonneDelta-1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta+1].getBombe()==false){
this.diaghautdroite(ligneDelta-1, collonneDelta+1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta+1].getBombe()==false){
this.diagbasdroite(ligneDelta+1, collonneDelta+1);
}
}
private void gauche(int ligneDelta, int collonneDelta){
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
this.tableau[ligneDelta][collonneDelta].repaint();
this.affichageVoisinEvident(ligneDelta, collonneDelta);
if(ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta].getBombe()==false){
this.haut(ligneDelta-1, collonneDelta);
}
if(ligneDelta<tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta].getBombe()==false){
this.bas(ligneDelta+1, collonneDelta);
}
if(collonneDelta>0 && this.tableau[ligneDelta][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta-1].getBombe()==false){
this.gauche(ligneDelta, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta-1].getBombe()==false){
this.diaghautgauche(ligneDelta-1, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta-1].getBombe()==false){
this.diagbasgauche(ligneDelta+1, collonneDelta-1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta+1].getBombe()==false){
this.diaghautdroite(ligneDelta-1, collonneDelta+1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta+1].getBombe()==false){
this.diagbasdroite(ligneDelta+1, collonneDelta+1);
}
}
private void droite(int ligneDelta, int collonneDelta){
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
this.tableau[ligneDelta][collonneDelta].repaint();
this.affichageVoisinEvident(ligneDelta, collonneDelta);
if(ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta].getBombe()==false){
this.haut(ligneDelta-1, collonneDelta);
}
if(ligneDelta<tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta].getBombe()==false){
this.bas(ligneDelta+1, collonneDelta);
}
if(collonneDelta<tableau[ligneDelta].length-1 && this.tableau[ligneDelta][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta+1].getBombe()==false){
this.droite(ligneDelta, collonneDelta+1);
}
if(collonneDelta>0 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta-1].getBombe()==false){
this.diaghautgauche(ligneDelta-1, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta-1].getBombe()==false){
this.diagbasgauche(ligneDelta+1, collonneDelta-1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta+1].getBombe()==false){
this.diaghautdroite(ligneDelta-1, collonneDelta+1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta+1].getBombe()==false){
this.diagbasdroite(ligneDelta+1, collonneDelta+1);
}
}
private void diaghautgauche(int ligneDelta, int collonneDelta){
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
this.tableau[ligneDelta][collonneDelta].repaint();
this.affichageVoisinEvident(ligneDelta, collonneDelta);
if(ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta].getBombe()==false){
this.haut(ligneDelta-1, collonneDelta);
}
if(ligneDelta<tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta].getBombe()==false){
this.bas(ligneDelta+1, collonneDelta);
}
if(collonneDelta<tableau[ligneDelta].length-1 && this.tableau[ligneDelta][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta+1].getBombe()==false){
this.droite(ligneDelta, collonneDelta+1);
}
if(collonneDelta>0 && this.tableau[ligneDelta][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta-1].getBombe()==false){
this.gauche(ligneDelta, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta-1].getBombe()==false){
this.diaghautgauche(ligneDelta-1, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta-1].getBombe()==false){
this.diagbasgauche(ligneDelta+1, collonneDelta-1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta+1].getBombe()==false){
this.diaghautdroite(ligneDelta-1, collonneDelta+1);
}
}
private void diagbasgauche(int ligneDelta, int collonneDelta){
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
this.tableau[ligneDelta][collonneDelta].repaint();
this.affichageVoisinEvident(ligneDelta, collonneDelta);
if(ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta].getBombe()==false){
this.haut(ligneDelta-1, collonneDelta);
}
if(ligneDelta<tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta].getBombe()==false){
this.bas(ligneDelta+1, collonneDelta);
}
if(collonneDelta<tableau[ligneDelta].length-1 && this.tableau[ligneDelta][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta+1].getBombe()==false){
this.droite(ligneDelta, collonneDelta+1);
}
if(collonneDelta>0 && this.tableau[ligneDelta][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta-1].getBombe()==false){
this.gauche(ligneDelta, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta-1].getBombe()==false){
this.diaghautgauche(ligneDelta-1, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta-1].getBombe()==false){
this.diagbasgauche(ligneDelta+1, collonneDelta-1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta+1].getBombe()==false){
this.diagbasdroite(ligneDelta+1, collonneDelta+1);
}
}
private void diaghautdroite(int ligneDelta, int collonneDelta){
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
this.tableau[ligneDelta][collonneDelta].repaint();
this.affichageVoisinEvident(ligneDelta, collonneDelta);
if(ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta].getBombe()==false){
this.haut(ligneDelta-1, collonneDelta);
}
if(ligneDelta<tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta].getBombe()==false){
this.bas(ligneDelta+1, collonneDelta);
}
if(collonneDelta<tableau[ligneDelta].length-1 && this.tableau[ligneDelta][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta+1].getBombe()==false){
this.droite(ligneDelta, collonneDelta+1);
}
if(collonneDelta>0 && this.tableau[ligneDelta][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta-1].getBombe()==false){
this.gauche(ligneDelta, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta-1].getBombe()==false){
this.diaghautgauche(ligneDelta-1, collonneDelta-1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta+1].getBombe()==false){
this.diaghautdroite(ligneDelta-1, collonneDelta+1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta+1].getBombe()==false){
this.diagbasdroite(ligneDelta+1, collonneDelta+1);
}
}
private void diagbasdroite(int ligneDelta, int collonneDelta){
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
this.tableau[ligneDelta][collonneDelta].repaint();
this.affichageVoisinEvident(ligneDelta, collonneDelta);
if(ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta].getBombe()==false){
this.haut(ligneDelta-1, collonneDelta);
}
if(ligneDelta<tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta].getBombe()==false){
this.bas(ligneDelta+1, collonneDelta);
}
if(collonneDelta<tableau[ligneDelta].length-1 && this.tableau[ligneDelta][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta+1].getBombe()==false){
this.droite(ligneDelta, collonneDelta+1);
}
if(collonneDelta>0 && this.tableau[ligneDelta][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta-1].getBombe()==false){
this.gauche(ligneDelta, collonneDelta-1);
}
if(collonneDelta>0 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta-1].getBombe()==false){
this.diagbasgauche(ligneDelta+1, collonneDelta-1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta+1].getBombe()==false){
this.diaghautdroite(ligneDelta-1, collonneDelta+1);
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta+1].getVoisin()==0 && this.tableau[ligneDelta+1][collonneDelta+1].getBombe()==false){
this.diagbasdroite(ligneDelta+1, collonneDelta+1);
}
}
private void affichageVoisinEvident(int ligneDelta, int collonneDelta){
if(ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta].getVoisin()>0 && this.tableau[ligneDelta-1][collonneDelta].getBombe()==false){
this.tableau[ligneDelta-1][collonneDelta].setVisibiliter(true);
this.tableau[ligneDelta-1][collonneDelta].repaint();
}
if(ligneDelta<tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta].getVoisin()>0 && this.tableau[ligneDelta+1][collonneDelta].getBombe()==false){
this.tableau[ligneDelta+1][collonneDelta].setVisibiliter(true);
this.tableau[ligneDelta+1][collonneDelta].repaint();
}
if(collonneDelta<tableau[ligneDelta].length-1 && this.tableau[ligneDelta][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta+1].getVoisin()>0 && this.tableau[ligneDelta][collonneDelta+1].getBombe()==false){
this.tableau[ligneDelta][collonneDelta+1].setVisibiliter(true);
this.tableau[ligneDelta][collonneDelta+1].repaint();
}
if(collonneDelta>0 && this.tableau[ligneDelta][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta-1].getVoisin()>0 && this.tableau[ligneDelta][collonneDelta-1].getBombe()==false){
this.tableau[ligneDelta][collonneDelta-1].setVisibiliter(true);
this.tableau[ligneDelta][collonneDelta-1].repaint();
}
if(collonneDelta>0 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta-1].getVoisin()>0 && this.tableau[ligneDelta-1][collonneDelta-1].getBombe()==false){
this.tableau[ligneDelta-1][collonneDelta-1].setVisibiliter(true);
this.tableau[ligneDelta-1][collonneDelta-1].repaint();
}
if(collonneDelta>0 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta-1].getVoisin()>0 && this.tableau[ligneDelta+1][collonneDelta-1].getBombe()==false){
this.tableau[ligneDelta+1][collonneDelta-1].setVisibiliter(true);
this.tableau[ligneDelta+1][collonneDelta-1].repaint();
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta+1].getVoisin()>0 && this.tableau[ligneDelta-1][collonneDelta+1].getBombe()==false){
this.tableau[ligneDelta-1][collonneDelta+1].setVisibiliter(true);
this.tableau[ligneDelta-1][collonneDelta+1].repaint();
}
if(collonneDelta<this.tableau[ligneDelta].length-1 && ligneDelta<this.tableau.length-1 && this.tableau[ligneDelta+1][collonneDelta+1].getVisibiliter()==false && this.tableau[ligneDelta+1][collonneDelta+1].getVoisin()>0 && this.tableau[ligneDelta+1][collonneDelta+1].getBombe()==false){
this.tableau[ligneDelta+1][collonneDelta+1].setVisibiliter(true);
this.tableau[ligneDelta+1][collonneDelta+1].repaint();
}
}
} }