独り言を言うと、俺が組んだヘクスマップでは、こうしてる。

(0,0)(2,0)(4,0)
 (1,1)(3,1)(5,1)
(0,2)(2,2)(4,2)
 (1,3)(3,3)(5,3)

(x+y)%2 == 0になるのが、有効な座標。
右下に移動するときは、x++,y++
右上に移動するときは、x++,y--
真右に移動するときは、x+=2
ヘクス間の距離は、X差をdx、Y差をdyとして、Dist = max(0, dx-dy)/2 + dy
って感じに、判定いらずでできる。

描画座標としても、(ヘックスの半径をRとして)
 PX = 2*R*X
 PY = √3*R*Y
とできるので判定いらず。

配列上の位置は、
 ArrayNo = 横に並んだ個数 * Y + (X / 2)
とすれば連続になる。(割り算の端数は切り捨て)
計算ミスがあったらごめんw