diff options
Diffstat (limited to 'core/src/ch/asynk/tankontank/engine/SearchBoard.java')
-rw-r--r-- | core/src/ch/asynk/tankontank/engine/SearchBoard.java | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/core/src/ch/asynk/tankontank/engine/SearchBoard.java b/core/src/ch/asynk/tankontank/engine/SearchBoard.java index 14c4334..fea114a 100644 --- a/core/src/ch/asynk/tankontank/engine/SearchBoard.java +++ b/core/src/ch/asynk/tankontank/engine/SearchBoard.java @@ -80,6 +80,25 @@ public class SearchBoard return nodes[((col - colOffset)) + (row * cols)]; } + public int distance(int col0, int row0, int col1, int row1) + { + int dx = Math.abs(col1 - col0); + int dy = Math.abs(row1 - row0); + int dz = Math.abs((col0 - row0) - (col1 - row1)); + + if (dx > dy) { + if (dx > dz) + return dx; + else + return dz; + } else { + if (dy > dz) + return dy; + else + return dz; + } + } + public void adjacentMoves(Node src) { // move to enter dst by sides[i] |