From 80f155b42b3ed1c280f5f12614ead4e5ed099db9 Mon Sep 17 00:00:00 2001 From: Johann Date: Sat, 25 May 2019 01:09:51 +0200 Subject: [PATCH] =?UTF-8?q?2=C3=A8me=20cas=20d'echec=20fini?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/piecesEchiquier/Piece.java | 1 + src/piecesEchiquier/Roi.java | 120 ++++++++++++++++++++++++++++++--- 2 files changed, 113 insertions(+), 8 deletions(-) diff --git a/src/piecesEchiquier/Piece.java b/src/piecesEchiquier/Piece.java index 78deab4..4a500fc 100755 --- a/src/piecesEchiquier/Piece.java +++ b/src/piecesEchiquier/Piece.java @@ -103,6 +103,7 @@ public class Piece { System.out.println("Le roi est en échec"); return true; } + return false; } } diff --git a/src/piecesEchiquier/Roi.java b/src/piecesEchiquier/Roi.java index fb97452..510a392 100755 --- a/src/piecesEchiquier/Roi.java +++ b/src/piecesEchiquier/Roi.java @@ -48,64 +48,168 @@ public class Roi extends Piece { //Côté droit if((p.getPosition().getX()) == (this.getPosition().getX()+1) && (p.getPosition().getY()) == (this.getPosition().getY()+1)) //Verifie deplacement y+1 vers le haut et x+1 vers la droite { - if(p.getCouleur()!=this.getCouleur()) + if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce { + for (int i=0; i<8;i++) // parcours de la matrice + { + for (int j=0; j<8;j++) + { + if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur()) && (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse + { + if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor + { + return false; + } + } + } + } return true; } } if((p.getPosition().getX()) == (this.getPosition().getX()+1) && (p.getPosition().getY()) == (this.getPosition().getY())) //Verifie deplacement x+1 vers la droite { - if(p.getCouleur()!=this.getCouleur()) + if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce { + for (int i=0; i<8;i++) // parcours de la matrice + { + for (int j=0; j<8;j++) + { + if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur()) && (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse + { + if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor + { + return false; + } + } + } + } return true; } } if((p.getPosition().getX()) == (this.getPosition().getX()+1) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y-1 vers le bas et x+1 vers la droite { - if(p.getCouleur()!=this.getCouleur()) + if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce { + for (int i=0; i<8;i++) // parcours de la matrice + { + for (int j=0; j<8;j++) + { + if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur())&& (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse + { + if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor + { + return false; + } + } + } + } return true; } } //Coté haut if((p.getPosition().getX()) == (this.getPosition().getX()) && (p.getPosition().getY()) == (this.getPosition().getY()+1)) //Verifie deplacement y+1 vers le haut { - if(p.getCouleur()!=this.getCouleur()) + if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce { + for (int i=0; i<8;i++) // parcours de la matrice + { + for (int j=0; j<8;j++) + { + if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur())&& (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse + { + if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor + { + return false; + } + } + } + } return true; } } //Côté bas if((p.getPosition().getX()) == (this.getPosition().getX()) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y-1 vers le bas { - if(p.getCouleur()!=this.getCouleur()) + if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce { + for (int i=0; i<8;i++) // parcours de la matrice + { + for (int j=0; j<8;j++) + { + if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur())&& (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse + { + if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor + { + return false; + } + } + } + } return true; } } //Côté gauche if((p.getPosition().getX()) == (this.getPosition().getX()-1) && (p.getPosition().getY()) == (this.getPosition().getY()+1)) //Verifie deplacement y+1 vers le haut et x-1 vers la gauche { - if(p.getCouleur()!=this.getCouleur()) + if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce { + for (int i=0; i<8;i++) // parcours de la matrice + { + for (int j=0; j<8;j++) + { + if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur())&& (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse + { + if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor + { + return false; + } + } + } + } return true; } } if((p.getPosition().getX()) == (this.getPosition().getX()-1) && (p.getPosition().getY()) == (this.getPosition().getY())) //Verifie deplacement x-1 vers la gauche { - if(p.getCouleur()!=this.getCouleur()) + if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce { + for (int i=0; i<8;i++) // parcours de la matrice + { + for (int j=0; j<8;j++) + { + if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur())&& (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse + { + if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor + { + return false; + } + } + } + } return true; } } if((p.getPosition().getX()) == (this.getPosition().getX()-1) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y-1 vers le bas et x-1 vers la gauche { - if(p.getCouleur()!=this.getCouleur()) + if(p.getCouleur()!=this.getCouleur()) //roi couleur différente de la pièce { + for (int i=0; i<8;i++) // parcours de la matrice + { + for (int j=0; j<8;j++) + { + if((e.getEchiquier()[i][j].getCouleur() != this.getCouleur())&& (e.getEchiquier()[i][j].getCouleur() != "") ) //si la piece est de couleur adverse + { + if(e.getEchiquier()[i][j].metEnEchec(e,p) == true) //si la piece est en echec sur la 2eme coor + { + return false; + } + } + } + } return true; } }