We already had distance calculating function (based on row and column) on this forum in ERM 1, probably. I have old code in Pascal.
BATTLEFIELD_LINE_SIZE = 17;
Code:
FUNCTION CalculateDistance (SrcPos, DstPos: INTEGER): INTEGER;
VAR
DistanceX: INTEGER;
DistanceY: INTEGER;
x1, x2: INTEGER;
y1, y2: INTEGER;
BEGIN
x1 := SrcPos MOD BATTLEFIELD_LINE_SIZE;
y1 := SrcPos DIV BATTLEFIELD_LINE_SIZE;
x2 := DstPos MOD BATTLEFIELD_LINE_SIZE;
y2 := DstPos DIV BATTLEFIELD_LINE_SIZE;