diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2014-10-28 23:33:22 +0100 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2014-10-28 23:33:22 +0100 | 
| commit | 27ae3693d680528522ee87d2b7905153cf6754a6 (patch) | |
| tree | 03358c279183d931dbd9c92d63365eea11c4172d /core/src/ch/asynk | |
| parent | 3adfb61709282b45f09d852ab74010da67b348ed (diff) | |
| download | RustAndDust-27ae3693d680528522ee87d2b7905153cf6754a6.zip RustAndDust-27ae3693d680528522ee87d2b7905153cf6754a6.tar.gz | |
Map: fix buildPossibleMoves(Pawn) and buildPossibleTargets(Pawn, Iterator<Pawn>) return values
Diffstat (limited to 'core/src/ch/asynk')
| -rw-r--r-- | core/src/ch/asynk/tankontank/game/Map.java | 8 | ||||
| -rw-r--r-- | core/src/ch/asynk/tankontank/game/states/StateSelect.java | 8 | 
2 files changed, 13 insertions, 3 deletions
| diff --git a/core/src/ch/asynk/tankontank/game/Map.java b/core/src/ch/asynk/tankontank/game/Map.java index 21f78ec..27e70bc 100644 --- a/core/src/ch/asynk/tankontank/game/Map.java +++ b/core/src/ch/asynk/tankontank/game/Map.java @@ -145,11 +145,19 @@ public abstract class Map extends Board      public int buildPossibleMoves(Pawn pawn)      { +        if (!pawn.canMove()) { +            possibleMoves.clear(); +            return 0; +        }          return buildPossibleMoves(pawn, possibleMoves);      }      public int buildPossibleTargets(Pawn pawn, Iterator<Pawn> foes)      { +        if (!pawn.canAttack()) { +            possibleTargets.clear(); +            return 0; +        }          // return buildPossibleTargets(pawn, possibleTargets);          return buildPossibleTargets(pawn, possibleTargets);      } diff --git a/core/src/ch/asynk/tankontank/game/states/StateSelect.java b/core/src/ch/asynk/tankontank/game/states/StateSelect.java index 500f90d..ddddf6f 100644 --- a/core/src/ch/asynk/tankontank/game/states/StateSelect.java +++ b/core/src/ch/asynk/tankontank/game/states/StateSelect.java @@ -52,19 +52,21 @@ public class StateSelect extends StateCommon          hidePossibleTargetsMovesAssists();          if (hasUnit() && (!isEnemy || ctrl.cfg.showEnemyPossibilities)) { +            // moves and targets == 0 if selectedUnit can't be activated for              int moves = map.buildPossibleMoves(selectedUnit);              int targets = 0;              if (isEnemy)                  targets = map.buildPossibleTargets(selectedUnit, ctrl.player.unitIterator());              else                  targets = map.buildPossibleTargets(selectedUnit, ctrl.opponent.unitIterator()); -            int assists = map.buildMoveAssists(selectedUnit); +            if (moves > 0) +                map.collectMoveablePawns(selectedUnit);              showPossibleTargetsMovesAssists(selectedUnit);              ctrl.hud.show(                  ctrl.player.canPromote(selectedUnit),                  selectedUnit.canMove(), -                (selectedUnit.canMove() && (moves > 0)), -                (selectedUnit.canAttack() && (targets > 0)), +                (moves > 0), +                (targets > 0),                  false,                  false                  ); | 
