public bool CanCapture() { return(Turn.CanCapture()); }
public Point GetLegalMoves(Point Square) { if (Square != Turn.GetPreviouslyMovedPiece() && !(Board.Grid[Square.X, Square.Y] == Const.FLAGSHIP && Turn.GetPlyCounter() > 0)) { List <Move> TempLegalMoves = Board.GetLegalMoves(Square, Turn.CanCapture()).Item1; foreach (Move m in TempLegalMoves) { LegalMoves[m.To.X, m.To.Y] = m.ToPiece == 0 ? Const.LEGAL_MOVE : Const.CAPTURE_MOVE; } } return(Board.Grid[Square.X, Square.Y] != 0 ? Square : new Point(-1, -1)); }