public static IEnumerable<Move> AxisMoves(int row, int column)
{
var moves = new List<Move>();
Action<int, int> addMove = (r, c) => moves.Add(new Move()
{
StartColumn = column,
StartRow = row,
EndColumn = c,
EndRow = r
});
for (var r = 0; r < 8; r++)
if (r != row)
addMove(r, column);
for (var c = 0; c < 8; c++)
if (c != column)
addMove(row, c);
return moves;
}