public static int DirectionByPointsWithNumber(Point start, Point finish)
{
var xOffset = finish.X - start.X;
var yOffset = finish.Y - start.Y;
if (xOffset == 0 && yOffset == -1) return 0;
if (xOffset == 1 && yOffset == 0) return 1;
if (xOffset == 0 && yOffset == 1) return 2;
if (xOffset == -1 && yOffset == 0) return 3;
throw new ArgumentException();
}