private Point GetFarthestPosition(Point position, Point delta)
{
Point previousPosition = new Point(-1, -1);
Point currentPosition = new Point(position.X, position.Y);
do
{
previousPosition.X = currentPosition.X;
previousPosition.Y = currentPosition.Y;
currentPosition.X += delta.X;
currentPosition.Y += delta.Y;
} while (Board.IsCellAvailable(currentPosition.X, currentPosition.Y));
return previousPosition;
}