protected void GetDiagonalMoves(Square[][] board, int row, int column, List<Tuple<int, int>> endPositions)
{
for (var r = row; r < 8; r++)
{
ChessPiece occupant;
for (var c = column; c < 8; c++)
{
occupant = board[r][c].ChessPiece;
if (occupant != null && occupant.Team == Team) break;
endPositions.Add(new Tuple<int, int>(r, c));
if (occupant != null && occupant.Team != Team) break;
}
for (var c = column; c >= 0; c--)
{
occupant = board[r][c].ChessPiece;
if (occupant != null && occupant.Team == Team) break;
endPositions.Add(new Tuple<int, int>(r, c));
if (occupant != null && occupant.Team != Team) break;
}
}
}