private void Castling(List<Move> moves, Board board, Figure king, Figure rook)
{
int rows = 0;
if (king.Side == Side.WHITE)
rows = 1;
else if (king.Side == Side.BLACK)
rows = 8;
char rookX = board.ReturnPosition(rook).Item1;
int rookY = board.ReturnPosition(rook).Item2;
char kingX = board.ReturnPosition(king).Item1;
int kingY = board.ReturnPosition(king).Item2;
if (moves.Count != 0)
foreach (Move move in moves)
{
if (!move.From.Contains(rookX + rookY.ToString(CultureInfo.InvariantCulture)))
{
foreach (Move move2 in moves)
if (!move2.From.Contains(kingX + kingY.ToString(CultureInfo.InvariantCulture)))
{
CastlingFunc(board, king, rook, rows, rookX);
}
else
return;
}
else
return;
}
else
{
CastlingFunc(board, king, rook, rows, rookX);
}
}