0802名前は開発中のものです。
2018/07/09(月) 20:33:41.87ID:BnqOkaeR(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