|
|
@ -115,6 +115,19 @@ lineSight(SX, SY, TX, TY, SignX, SignY, ADiffX, ADiffY, S, Acc) -> |
|
|
|
end |
|
|
|
end. |
|
|
|
|
|
|
|
|
|
|
|
-define(HEXAGON_X, {0, 1, -1, -1, 0, 0, 0, -1}).%%六边形格子偶数行 |
|
|
|
-define(HEXAGON_X1, {1, 1, 0, -1, 0, 1, 0, 0}).%%六边形格子基数行 |
|
|
|
-define(HEXAGON_Y, {-1, 0, 1, 0, 0, 1, 0, -1}).%%六边形格子列 |
|
|
|
-define(HEXAGON_DIRECTION, [2, 5, 3, 1, 7, 0]).%%六边形格子的方向 |
|
|
|
|
|
|
|
-define(HEXAGON_DIRECTION_RIGHT_DOWN, 0). %% 右下 |
|
|
|
-define(HEXAGON_DIRECTION_RIGHT, 1). %% 右 |
|
|
|
-define(HEXAGON_DIRECTION_LEFT_TOP, 2). %% 左上 |
|
|
|
-define(HEXAGON_DIRECTION_LEFT, 3). %% 左 |
|
|
|
-define(HEXAGON_DIRECTION_RIGHT_TOP, 5). %% 右上 |
|
|
|
-define(HEXAGON_DIRECTION_LEFT_DOWN, 7). %% 左下 |
|
|
|
|
|
|
|
-define(HexDirRightUp, 1). |
|
|
|
-define(HexDirRight, 2). |
|
|
|
-define(HexDirRightDown, 3). |
|
|
@ -153,17 +166,6 @@ get_point_xy(X, Y, D) -> |
|
|
|
{NX, NY} |
|
|
|
end. |
|
|
|
|
|
|
|
-define(HEXAGON_X, {0, 1, -1, -1, 0, 0, 0, -1}).%%六边形格子偶数行 |
|
|
|
-define(HEXAGON_X1, {1, 1, 0, -1, 0, 1, 0, 0}).%%六边形格子基数行 |
|
|
|
-define(HEXAGON_Y, {-1, 0, 1, 0, 0, 1, 0, -1}).%%六边形格子列 |
|
|
|
-define(HEXAGON_DIRECTION, [2, 5, 3, 1, 7, 0]).%%六边形格子的方向 |
|
|
|
|
|
|
|
-define(HEXAGON_DIRECTION_RIGHT_DOWN, 0). %% 右下 |
|
|
|
-define(HEXAGON_DIRECTION_RIGHT, 1). %% 右 |
|
|
|
-define(HEXAGON_DIRECTION_LEFT_TOP, 2). %% 左上 |
|
|
|
-define(HEXAGON_DIRECTION_LEFT, 3). %% 左 |
|
|
|
-define(HEXAGON_DIRECTION_RIGHT_TOP, 5). %% 右上 |
|
|
|
-define(HEXAGON_DIRECTION_LEFT_DOWN, 7). %% 左下 |
|
|
|
|
|
|
|
getDirXY(X, Y, Dir) -> |
|
|
|
case (Y rem 2) of |
|
|
|