diff --git a/src/piecesEchiquier/Cavalier.java b/src/piecesEchiquier/Cavalier.java index 182f440..d43e670 100755 --- a/src/piecesEchiquier/Cavalier.java +++ b/src/piecesEchiquier/Cavalier.java @@ -6,4 +6,73 @@ public class Cavalier extends Piece { { super(c,l,pos); } + + public boolean deplacable(Echiquier e, Piece p) // vérifie que le Cavalier peut être déplacé + { + //Côté droit + if((p.getPosition().getX()) == (this.getPosition().getX()+1) && (p.getPosition().getY()) == (this.getPosition().getY()+2)) //Verifie deplacement y+2 vers le haut et x+1 vers la droite + { + if(p.getCouleur()!=this.getCouleur()) + { + return true; + } + } + + if((p.getPosition().getX()) == (this.getPosition().getX()+2) && (p.getPosition().getY()) == (this.getPosition().getY()+1)) //Verifie deplacement y+1 vers le haut et x+2 vers la droite + { + if(p.getCouleur()!=this.getCouleur()) + { + return true; + } + } + + if((p.getPosition().getX()) == (this.getPosition().getX()+1) && (p.getPosition().getY()) == (this.getPosition().getY()-2)) //Verifie deplacement y-2 vers le bas et x+1 vers la droite + { + if(p.getCouleur()!=this.getCouleur()) + { + return true; + } + } + + if((p.getPosition().getX()) == (this.getPosition().getX()+2) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y-1 vers le bas et x+2 vers la droite + { + if(p.getCouleur()!=this.getCouleur()) + { + return true; + } + } + //Côté gauche + if((p.getPosition().getX()) == (this.getPosition().getX()-1) && (p.getPosition().getY()) == (this.getPosition().getY()+2)) //Verifie deplacement y+2 vers le haut et x-1 vers la gauche + { + if(p.getCouleur()!=this.getCouleur()) + { + return true; + } + } + + if((p.getPosition().getX()) == (this.getPosition().getX()-2) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y-1 vers le bas et x-2 vers la gauche + { + if(p.getCouleur()!=this.getCouleur()) + { + return true; + } + } + + if((p.getPosition().getX()) == (this.getPosition().getX()-1) && (p.getPosition().getY()) == (this.getPosition().getY()-2)) //Verifie deplacement y-2 vers le bas et x-1 vers la gauche + { + if(p.getCouleur()!=this.getCouleur()) + { + return true; + } + } + + if((p.getPosition().getX()) == (this.getPosition().getX()-2) && (p.getPosition().getY()) == (this.getPosition().getY()-1)) //Verifie deplacement y+1 vers le haut et x-2 vers la gauche + { + if(p.getCouleur()!=this.getCouleur()) + { + return true; + } + } + return false; + } } diff --git a/src/piecesEchiquier/Roi.java b/src/piecesEchiquier/Roi.java index b094581..bc6b369 100755 --- a/src/piecesEchiquier/Roi.java +++ b/src/piecesEchiquier/Roi.java @@ -31,4 +31,74 @@ public class Roi extends Piece { } return verif; } + + public boolean deplacable(Echiquier e, Piece p) // vérifie que le roi peut être déplacé + { + //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()) + { + 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()) + { + 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()) + { + 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()) + { + 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()) + { + 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()) + { + 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()) + { + 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()) + { + return true; + } + } + return false; + } } +