public override List <Coordone> GetUsuableCoordinate(Coordone PieceCoord, Pawn[,] Board) { List <Coordone> Coords = new List <Coordone>(); int a = 1; Color adversaire = Color.White; if (color == Color.White) { adversaire = Color.Black; a = -1; } //Deplacement if (this.TestBoardLimit(PieceCoord.x, PieceCoord.y + a)) { Pawn pieceCaseDeplacement = Board[PieceCoord.x, PieceCoord.y + a]; if (pieceCaseDeplacement == null) { Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y + a)); } } //Attack 1 if (this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y + a)) { Pawn PieceAttaks = Board[PieceCoord.x + 1, PieceCoord.y + a]; if (PieceAttaks != null && PieceAttaks.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y + a)); } } //Attack 2 if (this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y + a)) { Pawn PieceAttaks2 = Board[PieceCoord.x - 1, PieceCoord.y + a]; if (PieceAttaks2 != null && PieceAttaks2.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y + a)); } } return(Coords); }
public override List <Coordone> GetUsuableCoordinate(Coordone PieceCoord, Pawn[,] Board) { List <Coordone> Coords = new List <Coordone>(); Color adversaire = Color.White; if (color == Color.White) { adversaire = Color.Black; } //Attack1Tower for (int a = 1; a < 8; a++) { if (PieceCoord.y + a > 7) { break; } Pawn PieceCaseDeplacement = Board[PieceCoord.x, PieceCoord.y + a]; if (PieceCaseDeplacement == null && this.TestBoardLimit(PieceCoord.x, PieceCoord.y + a)) { Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y + a)); } else if (PieceCaseDeplacement != null && PieceCaseDeplacement.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y + a)); break; } else { break; } } //Attack2Tower for (int a = 1; a < 8; a++) { if (PieceCoord.y - a < 0) { break; } Pawn PieceCaseDeplacement2 = Board[PieceCoord.x, PieceCoord.y - a]; if (PieceCaseDeplacement2 == null && this.TestBoardLimit(PieceCoord.x, PieceCoord.y - a)) { Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y - a)); } else if (PieceCaseDeplacement2 != null && PieceCaseDeplacement2.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y - a)); break; } else { break; } } //Attack3Tower for (int a = 1; a < 8; a++) { if (PieceCoord.x + a > 7) { break; } Pawn PieceCaseDeplacement3 = Board[PieceCoord.x + a, PieceCoord.y]; if (PieceCaseDeplacement3 == null && this.TestBoardLimit(PieceCoord.x + a, PieceCoord.y)) { Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y)); } else if (PieceCaseDeplacement3 != null && PieceCaseDeplacement3.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y)); break; } else { break; } } //Attack4Tower for (int a = 1; a < 8; a++) { if (PieceCoord.x - a < 0) { break; } Pawn PieceCaseDeplacement4 = Board[PieceCoord.x - a, PieceCoord.y]; if (PieceCaseDeplacement4 == null && this.TestBoardLimit(PieceCoord.x - a, PieceCoord.y)) { Coords.Add(new Coordone(PieceCoord.x - a, PieceCoord.y)); } else if (PieceCaseDeplacement4 != null && PieceCaseDeplacement4.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x - a, PieceCoord.y)); break; } else { break; } } //Attack1Bischop for (int a = 1; a < 8; a++) { if (PieceCoord.x - a < 0 || PieceCoord.y + a > 7) { break; } Pawn PieceCaseDeplacement = Board[PieceCoord.x - a, PieceCoord.y + a]; if (PieceCaseDeplacement == null && this.TestBoardLimit(PieceCoord.x - a, PieceCoord.y + a)) { Coords.Add(new Coordone(PieceCoord.x - a, PieceCoord.y + a)); } else if (PieceCaseDeplacement != null && PieceCaseDeplacement.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x - a, PieceCoord.y + a)); break; } else { break; } } //Attack2Bischop for (int a = 1; a < 8; a++) { if (PieceCoord.x - a < 0 || PieceCoord.y - a < 0) { break; } Pawn PieceCaseDeplacement2 = Board[PieceCoord.x - a, PieceCoord.y - a]; if (PieceCaseDeplacement2 == null && this.TestBoardLimit(PieceCoord.x - a, PieceCoord.y - a)) { Coords.Add(new Coordone(PieceCoord.x - a, PieceCoord.y - a)); } else if (PieceCaseDeplacement2 != null && PieceCaseDeplacement2.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x - a, PieceCoord.y - a)); break; } else { break; } } //Attack3Bischop for (int a = 1; a < 8; a++) { if (PieceCoord.x + a > 7 || PieceCoord.y - a < 0) { break; } Pawn PieceCaseDeplacement3 = Board[PieceCoord.x + a, PieceCoord.y - a]; if (PieceCaseDeplacement3 == null && this.TestBoardLimit(PieceCoord.x + a, PieceCoord.y - a)) { Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y - a)); } else if (PieceCaseDeplacement3 != null && PieceCaseDeplacement3.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y - a)); break; } else { break; } } //Attack4Bischop for (int a = 1; a < 8; a++) { if (PieceCoord.x + a > 7 || PieceCoord.y + a > 7) { break; } Pawn PieceCaseDeplacement4 = Board[PieceCoord.x + a, PieceCoord.y + a]; if (PieceCaseDeplacement4 == null && this.TestBoardLimit(PieceCoord.x + a, PieceCoord.y + a)) { Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y + a)); } else if (PieceCaseDeplacement4 != null && PieceCaseDeplacement4.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y + a)); break; } else { break; } } return(Coords); }
public override List <Coordone> GetUsuableCoordinate(Coordone PieceCoord, Pawn[,] Board) { List <Coordone> Coords = new List <Coordone>(); int a = 1; int b = 1; int c = 1; int d = 1; Color adversaire = Color.White; if (color == Color.White) { adversaire = Color.Black; } switch (PieceCoord.x) { case 7: a = 0; break; case 0: b = 0; break; } switch (PieceCoord.y) { case 7: c = 0; break; case 0: d = 0; break; } Pawn PieceCaseDeplacement = Board[PieceCoord.x, PieceCoord.y + c]; Pawn PieceCaseDeplacement2 = Board[PieceCoord.x, PieceCoord.y - d]; Pawn PieceCaseDeplacement3 = Board[PieceCoord.x + a, PieceCoord.y]; Pawn PieceCaseDeplacement4 = Board[PieceCoord.x - b, PieceCoord.y]; //Attack 5 if (this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y + 1)) { Pawn PieceCaseDeplacement5 = Board[PieceCoord.x - 1, PieceCoord.y + 1]; if (PieceCaseDeplacement5 == null && this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y + 1)) { Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y + 1)); } if (PieceCaseDeplacement5 != null && PieceCaseDeplacement5.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y + 1)); } } //Attack 6 if (this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y - 1)) { Pawn PieceCaseDeplacement6 = Board[PieceCoord.x - 1, PieceCoord.y - 1]; if (PieceCaseDeplacement6 == null && this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y - 1)) { Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y - 1)); } if (PieceCaseDeplacement6 != null && PieceCaseDeplacement6.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y - 1)); } } //Attack 7 if (this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y - 1)) { Pawn PieceCaseDeplacement7 = Board[PieceCoord.x + 1, PieceCoord.y - 1]; if (PieceCaseDeplacement7 == null && this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y - 1)) { Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y - 1)); } if (PieceCaseDeplacement7 != null && PieceCaseDeplacement7.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y - 1)); } } //Attack 8 if (this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y + 1)) { Pawn PieceCaseDeplacement8 = Board[PieceCoord.x + 1, PieceCoord.y + 1]; if (PieceCaseDeplacement8 == null && this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y + 1)) { Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y + 1)); } if (PieceCaseDeplacement8 != null && PieceCaseDeplacement8.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y + 1)); } } //Attack1 if (PieceCaseDeplacement == null && this.TestBoardLimit(PieceCoord.x, PieceCoord.y + c)) { Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y + c)); } if (PieceCaseDeplacement != null && PieceCaseDeplacement.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y + c)); } //Attack2 if (PieceCaseDeplacement2 == null && this.TestBoardLimit(PieceCoord.x, PieceCoord.y - d)) { Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y - d)); } if (PieceCaseDeplacement2 != null && PieceCaseDeplacement2.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x, PieceCoord.y - d)); } //Attack 3 if (PieceCaseDeplacement3 == null && this.TestBoardLimit(PieceCoord.x + a, PieceCoord.y)) { Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y)); } if (PieceCaseDeplacement3 != null && PieceCaseDeplacement3.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x + a, PieceCoord.y)); } //Attack 4 if (PieceCaseDeplacement4 == null && this.TestBoardLimit(PieceCoord.x - b, PieceCoord.y)) { Coords.Add(new Coordone(PieceCoord.x - b, PieceCoord.y)); } if (PieceCaseDeplacement4 != null && PieceCaseDeplacement4.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x - b, PieceCoord.y)); } //Attack 5 //Attack 6 //Attack 7 //Attack 8 return(Coords); }
public override List <Coordone> GetUsuableCoordinate(Coordone PieceCoord, Pawn[,] Board) { List <Coordone> Coords = new List <Coordone>(); Color adversaire = Color.White; if (color == Color.White) { adversaire = Color.Black; } if (this.TestBoardLimit(PieceCoord.x - 2, PieceCoord.y + 1)) { Pawn PieceCaseDeplacement = Board[PieceCoord.x - 2, PieceCoord.y + 1]; if (PieceCaseDeplacement == null && this.TestBoardLimit(PieceCoord.x - 2, PieceCoord.y + 1)) { Coords.Add(new Coordone(PieceCoord.x - 2, PieceCoord.y + 1)); } if (PieceCaseDeplacement != null && PieceCaseDeplacement.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x - 2, PieceCoord.y + 1)); } } //Attack 2 if ((this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y + 2))) { Pawn PieceCaseDeplacement2 = Board[PieceCoord.x - 1, PieceCoord.y + 2]; if (PieceCaseDeplacement2 == null && this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y + 2)) { Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y + 2)); } if (PieceCaseDeplacement2 != null && PieceCaseDeplacement2.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y + 2)); } } //Attack 3 if ((this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y + 2))) { Pawn PieceCaseDeplacement3 = Board[PieceCoord.x + 1, PieceCoord.y + 2]; if (PieceCaseDeplacement3 == null && this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y + 2)) { Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y + 2)); } if (PieceCaseDeplacement3 != null && PieceCaseDeplacement3.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y + 2)); } } //Attack 4 if (this.TestBoardLimit(PieceCoord.x + 2, PieceCoord.y + 1)) { Pawn PieceCaseDeplacement4 = Board[PieceCoord.x + 2, PieceCoord.y + 1]; if (PieceCaseDeplacement4 == null && this.TestBoardLimit(PieceCoord.x + 2, PieceCoord.y + 1)) { Coords.Add(new Coordone(PieceCoord.x + 2, PieceCoord.y + 1)); } if (PieceCaseDeplacement4 != null && PieceCaseDeplacement4.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x + 2, PieceCoord.y + 1)); } } //Attack 5 if (this.TestBoardLimit(PieceCoord.x - 2, PieceCoord.y - 1)) { Pawn PieceCaseDeplacement5 = Board[PieceCoord.x - 2, PieceCoord.y - 1]; if (PieceCaseDeplacement5 == null && this.TestBoardLimit(PieceCoord.x - 2, PieceCoord.y - 1)) { Coords.Add(new Coordone(PieceCoord.x - 2, PieceCoord.y - 1)); } if (PieceCaseDeplacement5 != null && PieceCaseDeplacement5.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x - 2, PieceCoord.y - 1)); } } //Attack 6 if (this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y - 2)) { Pawn PieceCaseDeplacement6 = Board[PieceCoord.x - 1, PieceCoord.y - 2]; if (PieceCaseDeplacement6 == null && this.TestBoardLimit(PieceCoord.x - 1, PieceCoord.y - 2)) { Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y - 2)); } if (PieceCaseDeplacement6 != null && PieceCaseDeplacement6.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x - 1, PieceCoord.y - 2)); } } //Attack 7 if (this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y - 2)) { Pawn PieceCaseDeplacement7 = Board[PieceCoord.x + 1, PieceCoord.y - 2]; if (PieceCaseDeplacement7 == null && this.TestBoardLimit(PieceCoord.x + 1, PieceCoord.y - 2)) { Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y - 2)); } if (PieceCaseDeplacement7 != null && PieceCaseDeplacement7.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x + 1, PieceCoord.y - 2)); } } //Attack 8 if (this.TestBoardLimit(PieceCoord.x + 2, PieceCoord.y - 1)) { Pawn PieceCaseDeplacement8 = Board[PieceCoord.x + 2, PieceCoord.y - 1]; if (PieceCaseDeplacement8 == null && this.TestBoardLimit(PieceCoord.x + 2, PieceCoord.y - 1)) { Coords.Add(new Coordone(PieceCoord.x + 2, PieceCoord.y - 1)); } if (PieceCaseDeplacement8 != null && PieceCaseDeplacement8.color == adversaire) { Coords.Add(new Coordone(PieceCoord.x + 2, PieceCoord.y - 1)); } } return(Coords); }