From 225d4f773ff3f0352fe07bb3c73f6ad51b9fec3a Mon Sep 17 00:00:00 2001 From: Johann Date: Sat, 11 May 2019 16:25:50 +0200 Subject: [PATCH] Methode deplacable du Roi + Cavalier --- src/piecesEchiquier/Cavalier.java | 69 ++++++++++++++++++++++++++++++ src/piecesEchiquier/Roi.java | 70 +++++++++++++++++++++++++++++++ 2 files changed, 139 insertions(+) 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; + } } +