ajout de la selection evidente et modif visuelle
This commit is contained in:
parent
7bbb4a8dee
commit
a524804fad
BIN
CASE/Case.class
BIN
CASE/Case.class
Binary file not shown.
@ -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.
@ -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.
@ -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();
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
Loading…
Reference in New Issue
Block a user