condition de victoire ajouter
This commit is contained in:
parent
4f72ac99a1
commit
4542c594ba
BIN
CASE/Case.class
BIN
CASE/Case.class
Binary file not shown.
@ -46,6 +46,13 @@ public class Case extends JComponent{
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
public boolean getSuspition2(){
|
||||||
|
if(this.suspition==1){
|
||||||
|
return true;
|
||||||
|
}else{
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
}
|
||||||
public boolean getVisibiliter(){
|
public boolean getVisibiliter(){
|
||||||
return this.visibilite;
|
return this.visibilite;
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
@ -29,8 +29,7 @@ public class main_ex{
|
|||||||
fenetre.add(tab[i][t]);
|
fenetre.add(tab[i][t]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
plateau plat = new plateau(tab);
|
plateau.setAllBombe(8, ligne, collonne, tab);
|
||||||
plat.setAllBombe(8, ligne, collonne);
|
plateau.setAllVoisin(tab);
|
||||||
plat.setAllVoisin();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
Binary file not shown.
@ -10,7 +10,6 @@ public class observateurCase implements MouseListener{
|
|||||||
private Case[][] tableau;
|
private Case[][] tableau;
|
||||||
private plateau plat;
|
private plateau plat;
|
||||||
public observateurCase(int ligne0, int collonne0, Case[][] tableau0){
|
public observateurCase(int ligne0, int collonne0, Case[][] tableau0){
|
||||||
// pour savoir si c'est l'observateur de la fleche de gauche ou droite
|
|
||||||
this.ligne=ligne0;
|
this.ligne=ligne0;
|
||||||
this.collonne=collonne0;
|
this.collonne=collonne0;
|
||||||
this.tableau=tableau0;
|
this.tableau=tableau0;
|
||||||
@ -18,17 +17,31 @@ public class observateurCase implements MouseListener{
|
|||||||
@Override
|
@Override
|
||||||
public void mouseClicked(MouseEvent evenement){
|
public void mouseClicked(MouseEvent evenement){
|
||||||
if(evenement.getButton() == MouseEvent.BUTTON1){
|
if(evenement.getButton() == MouseEvent.BUTTON1){
|
||||||
if(this.tableau[this.ligne][this.collonne].getSuspition()==false){
|
if(this.tableau[this.ligne][this.collonne].getSuspition()==false && this.tableau[this.ligne][this.collonne].getVisibiliter()==false){
|
||||||
this.tableau[this.ligne][this.collonne].setVisibiliter(true);
|
this.tableau[this.ligne][this.collonne].setVisibiliter(true);
|
||||||
this.tableau[this.ligne][this.collonne].repaint();
|
this.tableau[this.ligne][this.collonne].repaint();
|
||||||
if(this.tableau[this.ligne][this.collonne].getVoisin()==0){
|
if(this.tableau[this.ligne][this.collonne].getVoisin()==0 && this.tableau[this.ligne][this.collonne].getBombe()==false){
|
||||||
this.cliqueEvident(this.ligne, this.collonne);
|
this.cliqueEvident(this.ligne, this.collonne);
|
||||||
}
|
}
|
||||||
|
int resultat=plateau.etatDeVictoire(this.tableau);
|
||||||
|
if(resultat==-1){
|
||||||
|
plateau.perduGagner(this.tableau);
|
||||||
|
}
|
||||||
|
if(resultat==1){
|
||||||
|
plateau.perduGagner(this.tableau);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(evenement.getButton() == MouseEvent.BUTTON3){
|
if(evenement.getButton() == MouseEvent.BUTTON3){
|
||||||
this.tableau[this.ligne][this.collonne].suspition();
|
this.tableau[this.ligne][this.collonne].suspition();
|
||||||
this.tableau[this.ligne][this.collonne].repaint();
|
this.tableau[this.ligne][this.collonne].repaint();
|
||||||
|
int resultat=plateau.etatDeVictoire(this.tableau);
|
||||||
|
if(resultat==-1){
|
||||||
|
System.out.println("perdu");
|
||||||
|
}
|
||||||
|
if(resultat==1){
|
||||||
|
System.out.println("gagner");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@Override // un bouton cliqué
|
@Override // un bouton cliqué
|
||||||
@ -47,9 +60,13 @@ public class observateurCase implements MouseListener{
|
|||||||
|
|
||||||
}
|
}
|
||||||
private void cliqueEvident(int ligneDelta, int collonneDelta){
|
private void cliqueEvident(int ligneDelta, int collonneDelta){
|
||||||
|
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){
|
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);
|
this.haut(ligneDelta-1, collonneDelta);
|
||||||
}
|
}
|
||||||
|
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(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){
|
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);
|
this.bas(ligneDelta+1, collonneDelta);
|
||||||
}
|
}
|
||||||
@ -59,9 +76,6 @@ public class observateurCase implements MouseListener{
|
|||||||
if(collonneDelta>0 && this.tableau[ligneDelta][collonneDelta-1].getVisibiliter()==false && this.tableau[ligneDelta][collonneDelta-1].getVoisin()==0 && this.tableau[ligneDelta][collonneDelta-1].getBombe()==false){
|
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);
|
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){
|
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);
|
this.diagbasgauche(ligneDelta+1, collonneDelta-1);
|
||||||
}
|
}
|
||||||
@ -79,24 +93,18 @@ public class observateurCase implements MouseListener{
|
|||||||
if(ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta].getBombe()==false){
|
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);
|
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){
|
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);
|
this.gauche(ligneDelta, collonneDelta-1);
|
||||||
}
|
}
|
||||||
|
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){
|
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);
|
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){
|
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);
|
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){
|
private void bas(int ligneDelta, int collonneDelta){
|
||||||
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
|
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
|
||||||
@ -105,21 +113,15 @@ public class observateurCase implements MouseListener{
|
|||||||
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){
|
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);
|
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){
|
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);
|
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){
|
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.diaghautgauche(ligneDelta-1, collonneDelta-1);
|
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){
|
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);
|
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){
|
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);
|
this.diagbasdroite(ligneDelta+1, collonneDelta+1);
|
||||||
}
|
}
|
||||||
@ -143,12 +145,6 @@ public class observateurCase implements MouseListener{
|
|||||||
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){
|
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);
|
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){
|
private void droite(int ligneDelta, int collonneDelta){
|
||||||
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
|
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
|
||||||
@ -163,12 +159,6 @@ public class observateurCase implements MouseListener{
|
|||||||
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){
|
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);
|
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){
|
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);
|
this.diaghautdroite(ligneDelta-1, collonneDelta+1);
|
||||||
}
|
}
|
||||||
@ -183,12 +173,6 @@ public class observateurCase implements MouseListener{
|
|||||||
if(ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta].getBombe()==false){
|
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);
|
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){
|
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);
|
this.gauche(ligneDelta, collonneDelta-1);
|
||||||
}
|
}
|
||||||
@ -206,15 +190,9 @@ public class observateurCase implements MouseListener{
|
|||||||
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
|
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
|
||||||
this.tableau[ligneDelta][collonneDelta].repaint();
|
this.tableau[ligneDelta][collonneDelta].repaint();
|
||||||
this.affichageVoisinEvident(ligneDelta, collonneDelta);
|
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){
|
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);
|
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){
|
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);
|
this.gauche(ligneDelta, collonneDelta-1);
|
||||||
}
|
}
|
||||||
@ -235,15 +213,9 @@ public class observateurCase implements MouseListener{
|
|||||||
if(ligneDelta>0 && this.tableau[ligneDelta-1][collonneDelta].getVisibiliter()==false && this.tableau[ligneDelta-1][collonneDelta].getVoisin()==0 && this.tableau[ligneDelta-1][collonneDelta].getBombe()==false){
|
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);
|
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){
|
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);
|
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){
|
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);
|
this.diaghautgauche(ligneDelta-1, collonneDelta-1);
|
||||||
}
|
}
|
||||||
@ -258,18 +230,12 @@ public class observateurCase implements MouseListener{
|
|||||||
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
|
this.tableau[ligneDelta][collonneDelta].setVisibiliter(true);
|
||||||
this.tableau[ligneDelta][collonneDelta].repaint();
|
this.tableau[ligneDelta][collonneDelta].repaint();
|
||||||
this.affichageVoisinEvident(ligneDelta, collonneDelta);
|
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){
|
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);
|
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){
|
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);
|
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){
|
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);
|
this.diagbasgauche(ligneDelta+1, collonneDelta-1);
|
||||||
}
|
}
|
||||||
|
Binary file not shown.
@ -1,68 +1,95 @@
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
import java.awt.event.*;
|
||||||
|
|
||||||
public class plateau{
|
public class plateau{
|
||||||
private Case[][] tableau;
|
public static void setAllBombe(int nombre, int ligne, int collonne, Case[][] tableau0){
|
||||||
public plateau(Case[][] tableau0){
|
|
||||||
this.tableau=tableau0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void setAllBombe(int nombre, int ligne, int collonne){
|
|
||||||
Random rand = new Random();
|
Random rand = new Random();
|
||||||
for(int i=0; i<nombre; i++){
|
for(int i=0; i<nombre; i++){
|
||||||
int x=rand.nextInt(ligne);
|
int x=rand.nextInt(ligne);
|
||||||
int y=rand.nextInt(collonne);
|
int y=rand.nextInt(collonne);
|
||||||
if(this.tableau[x][y].getBombe()==false){
|
if(tableau0[x][y].getBombe()==false){
|
||||||
this.tableau[x][y].setBombe();
|
tableau0[x][y].setBombe();
|
||||||
}else{
|
}else{
|
||||||
i--;
|
i--;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void setAllVoisin(){
|
public static void setAllVoisin(Case[][] tableau0){
|
||||||
for(int i=0; i<tableau.length; i++){
|
for(int i=0; i<tableau0.length; i++){
|
||||||
for(int t=0; t<tableau[i].length; t++){
|
for(int t=0; t<tableau0[i].length; t++){
|
||||||
int voisin=0;
|
int voisin=0;
|
||||||
if(i>0){
|
if(i>0){
|
||||||
if(tableau[i-1][t].getBombe()==true){
|
if(tableau0[i-1][t].getBombe()==true){
|
||||||
voisin++;
|
voisin++;
|
||||||
}
|
}
|
||||||
if(t>0){
|
if(t>0){
|
||||||
if(tableau[i-1][t-1].getBombe()==true){
|
if(tableau0[i-1][t-1].getBombe()==true){
|
||||||
voisin++;
|
voisin++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(t<tableau[i].length-1){
|
if(t<tableau0[i].length-1){
|
||||||
if(tableau[i-1][t+1].getBombe()==true){
|
if(tableau0[i-1][t+1].getBombe()==true){
|
||||||
voisin++;
|
voisin++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(i<tableau.length-1){
|
if(i<tableau0.length-1){
|
||||||
if(tableau[i+1][t].getBombe()==true){
|
if(tableau0[i+1][t].getBombe()==true){
|
||||||
voisin++;
|
voisin++;
|
||||||
}
|
}
|
||||||
if(t>0){
|
if(t>0){
|
||||||
if(tableau[i+1][t-1].getBombe()==true){
|
if(tableau0[i+1][t-1].getBombe()==true){
|
||||||
voisin++;
|
voisin++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(t<tableau[i].length-1){
|
if(t<tableau0[i].length-1){
|
||||||
if(tableau[i+1][t+1].getBombe()==true){
|
if(tableau0[i+1][t+1].getBombe()==true){
|
||||||
voisin++;
|
voisin++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(t>0){
|
if(t>0){
|
||||||
if(tableau[i][t-1].getBombe()==true){
|
if(tableau0[i][t-1].getBombe()==true){
|
||||||
voisin++;
|
voisin++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if(t<tableau[i].length-1){
|
if(t<tableau0[i].length-1){
|
||||||
if(tableau[i][t+1].getBombe()==true){
|
if(tableau0[i][t+1].getBombe()==true){
|
||||||
voisin++;
|
voisin++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
tableau[i][t].setVoisin(voisin);
|
tableau0[i][t].setVoisin(voisin);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
public static int etatDeVictoire(Case[][] tableau0){
|
||||||
|
int condition=0;
|
||||||
|
for(int i=0; i<tableau0.length; i++){
|
||||||
|
for(int t=0; t<tableau0[i].length; t++){
|
||||||
|
if(tableau0[i][t].getVisibiliter()==false && tableau0[i][t].getBombe()==false){
|
||||||
|
condition++;
|
||||||
|
}
|
||||||
|
if(tableau0[i][t].getVisibiliter()==true && tableau0[i][t].getBombe()==true){
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
if(tableau0[i][t].getSuspition2()==false && tableau0[i][t].getBombe()==true){
|
||||||
|
condition++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if(condition>0){
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
public static void perduGagner(Case[][] tableau0){
|
||||||
|
for(int i=0; i<tableau0.length; i++){
|
||||||
|
for(int t=0; t<tableau0[i].length; t++){
|
||||||
|
MouseListener[] tabListener;
|
||||||
|
tabListener=tableau0[i][t].getMouseListeners();
|
||||||
|
for(int longeur=0; longeur<=tabListener.length-1; longeur++){
|
||||||
|
tableau0[i][t].removeMouseListener(tabListener[longeur]);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user