2022-04-27 13:19:57 +02:00
|
|
|
//Tom Monin et Clément Martins
|
|
|
|
// observateurChoix V1
|
|
|
|
//Class pour la selection du nombre de collone et ligne et de Mine a la souris
|
|
|
|
import java.awt.*;
|
|
|
|
import java.awt.event.*;
|
|
|
|
import javax.swing.*;
|
|
|
|
|
|
|
|
public class observateurCase implements MouseListener{
|
2022-04-28 18:15:17 +02:00
|
|
|
private int ligne, collonne;
|
2022-04-27 13:19:57 +02:00
|
|
|
private Case[][] tableau;
|
2022-04-28 18:15:17 +02:00
|
|
|
private plateau plat;
|
|
|
|
public observateurCase(int ligne0, int collonne0, Case[][] tableau0){
|
|
|
|
this.ligne=ligne0;
|
|
|
|
this.collonne=collonne0;
|
2022-04-27 13:19:57 +02:00
|
|
|
this.tableau=tableau0;
|
|
|
|
}
|
|
|
|
@Override
|
|
|
|
public void mouseClicked(MouseEvent evenement){
|
|
|
|
if(evenement.getButton() == MouseEvent.BUTTON1){
|
2022-04-28 20:43:37 +02:00
|
|
|
if(this.tableau[this.ligne][this.collonne].getSuspition()==false && this.tableau[this.ligne][this.collonne].getVisibiliter()==false){
|
2022-04-28 18:15:17 +02:00
|
|
|
this.tableau[this.ligne][this.collonne].setVisibiliter(true);
|
|
|
|
this.tableau[this.ligne][this.collonne].repaint();
|
2022-04-28 20:43:37 +02:00
|
|
|
if(this.tableau[this.ligne][this.collonne].getVoisin()==0 && this.tableau[this.ligne][this.collonne].getBombe()==false){
|
2022-04-28 18:15:17 +02:00
|
|
|
this.cliqueEvident(this.ligne, this.collonne);
|
|
|
|
}
|
2022-04-28 20:43:37 +02:00
|
|
|
int resultat=plateau.etatDeVictoire(this.tableau);
|
|
|
|
if(resultat==-1){
|
|
|
|
plateau.perduGagner(this.tableau);
|
|
|
|
}
|
|
|
|
if(resultat==1){
|
|
|
|
plateau.perduGagner(this.tableau);
|
|
|
|
}
|
2022-04-27 18:01:00 +02:00
|
|
|
}
|
2022-04-27 13:19:57 +02:00
|
|
|
}
|
|
|
|
if(evenement.getButton() == MouseEvent.BUTTON3){
|
2022-04-28 18:15:17 +02:00
|
|
|
this.tableau[this.ligne][this.collonne].suspition();
|
|
|
|
this.tableau[this.ligne][this.collonne].repaint();
|
2022-04-28 20:43:37 +02:00
|
|
|
int resultat=plateau.etatDeVictoire(this.tableau);
|
|
|
|
if(resultat==-1){
|
|
|
|
System.out.println("perdu");
|
|
|
|
}
|
|
|
|
if(resultat==1){
|
|
|
|
System.out.println("gagner");
|
|
|
|
}
|
2022-04-27 13:19:57 +02:00
|
|
|
}
|
|
|
|
}
|
|
|
|
@Override // un bouton cliqué
|
|
|
|
public void mouseEntered(MouseEvent evenement){
|
|
|
|
|
|
|
|
}
|
|
|
|
@Override // debut du survol
|
|
|
|
public void mouseExited(MouseEvent evenement){
|
|
|
|
}
|
|
|
|
@Override // fin du survol
|
|
|
|
public void mousePressed(MouseEvent evenement){
|
|
|
|
|
|
|
|
}
|
|
|
|
@Override // un bouton appuyé
|
|
|
|
public void mouseReleased(MouseEvent evenement){
|
|
|
|
|
|
|
|
}
|
2022-04-28 18:15:17 +02:00
|
|
|
private void cliqueEvident(int ligneDelta, int collonneDelta){
|
2022-04-28 20:43:37 +02:00
|
|
|
this.affichageVoisinEvident(ligneDelta, collonneDelta);
|
2022-04-28 18:15:17 +02:00
|
|
|
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);
|
|
|
|
}
|
2022-04-28 20:43:37 +02:00
|
|
|
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);
|
|
|
|
}
|
2022-04-28 18:15:17 +02:00
|
|
|
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 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>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);
|
|
|
|
}
|
2022-04-28 20:43:37 +02:00
|
|
|
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);
|
|
|
|
}
|
2022-04-28 18:15:17 +02:00
|
|
|
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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
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>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);
|
|
|
|
}
|
2022-04-28 20:43:37 +02:00
|
|
|
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);
|
2022-04-28 18:15:17 +02:00
|
|
|
}
|
|
|
|
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 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);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
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<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(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<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<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(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<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<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<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();
|
|
|
|
}
|
|
|
|
}
|
2022-04-27 13:19:57 +02:00
|
|
|
}
|