public static DirectionEnum DirectionByPoints(Point start, Point finish)
{
var xOffset = finish.X - start.X;
var yOffset = finish.Y - start.Y;
if (xOffset == -1 && yOffset == 0) return DirectionEnum.Left;
if (xOffset == 1 && yOffset == 0) return DirectionEnum.Right;
if (xOffset == 0 && yOffset == 1) return DirectionEnum.Down;
if (xOffset == 0 && yOffset == -1) return DirectionEnum.Up;
throw new ArgumentException();
}