diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2014-09-24 16:08:20 +0200 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2014-09-24 16:08:20 +0200 | 
| commit | 99c197a15f73c7ab0f4c6c527a3c08265e085ae1 (patch) | |
| tree | c061e705a4c1a6bfdd2bb792ee2ab964462a5239 | |
| parent | 45cd3556d32e2ca11010e290486d6204b9149b3e (diff) | |
| download | RustAndDust-99c197a15f73c7ab0f4c6c527a3c08265e085ae1.zip RustAndDust-99c197a15f73c7ab0f4c6c527a3c08265e085ae1.tar.gz | |
SearchBoard: update if roadMarch and (mvtLeft > bonus) overtake dst.mvtLeft
| -rw-r--r-- | core/src/ch/asynk/tankontank/engine/SearchBoard.java | 6 | 
1 files changed, 4 insertions, 2 deletions
| diff --git a/core/src/ch/asynk/tankontank/engine/SearchBoard.java b/core/src/ch/asynk/tankontank/engine/SearchBoard.java index 1c7f67f..b4b0584 100644 --- a/core/src/ch/asynk/tankontank/engine/SearchBoard.java +++ b/core/src/ch/asynk/tankontank/engine/SearchBoard.java @@ -91,6 +91,8 @@ public class SearchBoard          start.roadMarch = true;          stack.push(start); +        int roadMarchBonus = pawn.roadMarch(); +          boolean first = true;          while (stack.size() != 0) { @@ -98,7 +100,7 @@ public class SearchBoard              if (src.mvtLeft <= 0) {                  if (src.roadMarch) { -                    src.mvtLeft = board.getTile(src.col, src.row).roadMarchBonus(pawn); +                    src.mvtLeft = roadMarchBonus;                      roadMarch.push(src);                  }                  continue; @@ -118,7 +120,7 @@ public class SearchBoard                      boolean roadMarch = road && src.roadMarch;                      if (dst.search == searchCount) { -                        if ((r >= 0) && ((r > dst.mvtLeft) || roadMarch)) { +                        if ((r >= 0) && ((r > dst.mvtLeft) || (roadMarch && ((r + roadMarchBonus) >= dst.mvtLeft)))) {                              dst.mvtLeft = r;                              dst.parent = src;                              dst.roadMarch = roadMarch; | 
