diff options
| author | Jérémy Zurcher <jeremy@asynk.ch> | 2014-11-19 14:21:09 +0100 | 
|---|---|---|
| committer | Jérémy Zurcher <jeremy@asynk.ch> | 2014-11-19 14:21:09 +0100 | 
| commit | 82f0a86782992c89268f920b7a288e67bee53967 (patch) | |
| tree | dff8808dec930ada0afea64508ce084f61b7ec29 /core/src/ch/asynk | |
| parent | aed0e85d1a539586f8ef02616ab1d3c87396e1f7 (diff) | |
| download | RustAndDust-82f0a86782992c89268f920b7a288e67bee53967.zip RustAndDust-82f0a86782992c89268f920b7a288e67bee53967.tar.gz | |
adapt Battles to fix to Player and Ctrl
Diffstat (limited to 'core/src/ch/asynk')
7 files changed, 79 insertions, 116 deletions
| diff --git a/core/src/ch/asynk/tankontank/game/Battle.java b/core/src/ch/asynk/tankontank/game/Battle.java index c2030a0..9b1e502 100644 --- a/core/src/ch/asynk/tankontank/game/Battle.java +++ b/core/src/ch/asynk/tankontank/game/Battle.java @@ -11,7 +11,9 @@ public interface Battle      public String getDescription(); -    public Player getPlayer(boolean first, boolean deploymentPhase); +    public Player getPlayer(); + +    public Player opponent(Player player);      public Map getMap(); diff --git a/core/src/ch/asynk/tankontank/game/battles/BattleCommon.java b/core/src/ch/asynk/tankontank/game/battles/BattleCommon.java index 9f97eda..3d380d2 100644 --- a/core/src/ch/asynk/tankontank/game/battles/BattleCommon.java +++ b/core/src/ch/asynk/tankontank/game/battles/BattleCommon.java @@ -11,6 +11,7 @@ import ch.asynk.tankontank.game.Battle;  import ch.asynk.tankontank.game.Player;  import ch.asynk.tankontank.game.Unit;  import ch.asynk.tankontank.game.Unit.UnitId; +import ch.asynk.tankontank.game.State.StateType;  public abstract class BattleCommon implements Battle  { @@ -53,6 +54,28 @@ public abstract class BattleCommon implements Battle      }      @Override +    public Player opponent(Player player) +    { +        if (player == usPlayer) +            return gePlayer; +        return usPlayer; +    } + +    @Override +    public boolean deploymentDone(Player player) +    { +        return player.isDeploymentDone(); +    } + +    @Override +    public StateType getState(Player player) +    { +        if (!player.isDeploymentDone()) +            return StateType.DEPLOYMENT; +        return StateType.SELECT; +    } + +    @Override      public Zone getEntryZone(Unit unit)      {          return unitEntry.get(unit); diff --git a/core/src/ch/asynk/tankontank/game/battles/BattleCounterAttack.java b/core/src/ch/asynk/tankontank/game/battles/BattleCounterAttack.java index c268ea3..5224d59 100644 --- a/core/src/ch/asynk/tankontank/game/battles/BattleCounterAttack.java +++ b/core/src/ch/asynk/tankontank/game/battles/BattleCounterAttack.java @@ -35,31 +35,15 @@ public class BattleCounterAttack extends BattleCommon      }      @Override -    public Player getPlayer(boolean first, boolean deploymentPhase) +    public Player getPlayer()      { -        if (deploymentPhase) -            return (first ? gePlayer : usPlayer); -        else -            return (first ? gePlayer : usPlayer); -    } - -    @Override -    public StateType getState(Player player) -    { -        if (player.getTurn() == 0) -            return StateType.DEPLOYMENT; -        return StateType.SELECT; -    } - -    @Override -    public boolean deploymentDone(Player player) -    { -        int n = player.reinforcement(); -        if (n == 0) { -            player.deploymentDone(); -            return true; -        } -        return false; +        if (!gePlayer.isDeploymentDone()) +            return gePlayer; +        if (!usPlayer.isDeploymentDone()) +            return usPlayer; +        if (gePlayer.getTurnDone() == usPlayer.getTurnDone()) +            return gePlayer; +        return usPlayer;      }      public Player checkVictory(Ctrl ctrl) @@ -70,7 +54,7 @@ public class BattleCounterAttack extends BattleCommon          if (gePlayer.escaped() >= 3)              return gePlayer; -        if ((ctrl.player.getTurn() < 9) || (ctrl.opponent.getTurn() < 9)) +        if ((ctrl.player.getTurnDone() < 9) || (ctrl.opponent.getTurnDone() < 9))              return null;          return usPlayer; @@ -81,7 +65,7 @@ public class BattleCounterAttack extends BattleCommon      {          if (ctrl.player.is(Army.GE))              return false; -        if (ctrl.player.getTurn() != 5) +        if (ctrl.player.getCurrentTurn() != 5)              return false;          Zone usEntry = new Zone(map, 9); diff --git a/core/src/ch/asynk/tankontank/game/battles/BattleFrontalAssault.java b/core/src/ch/asynk/tankontank/game/battles/BattleFrontalAssault.java index c9931bc..13483d2 100644 --- a/core/src/ch/asynk/tankontank/game/battles/BattleFrontalAssault.java +++ b/core/src/ch/asynk/tankontank/game/battles/BattleFrontalAssault.java @@ -29,12 +29,22 @@ public class BattleFrontalAssault extends BattleCommon      }      @Override -    public Player getPlayer(boolean first, boolean deploymentPhase) +    public Player getPlayer()      { -        if (deploymentPhase) -            return (first ? gePlayer : usPlayer); -        else -            return (first ? usPlayer : gePlayer); +        if (!gePlayer.isDeploymentDone()) { +            int n = gePlayer.reinforcement(); +            if (n > 4) +                return gePlayer; +            else { +                if (usPlayer.isDeploymentDone()) +                    return gePlayer; +                else +                    return usPlayer; +            } +        } +        if (gePlayer.getTurnDone() == usPlayer.getTurnDone()) +            return usPlayer; +        return gePlayer;      }      @Override @@ -44,22 +54,11 @@ public class BattleFrontalAssault extends BattleCommon      }      @Override -    public StateType getState(Player player) -    { -        if (player.getTurn() == 0) -            return StateType.DEPLOYMENT; -        return StateType.SELECT; -    } - -    @Override      public boolean deploymentDone(Player player)      { -        int n = player.reinforcement(); -        if (n == 0) { -            player.deploymentDone(); +        if (player.isDeploymentDone())              return true; -        } -        return ((player.is(Army.GE) && (n == 4))); +        return ((player.is(Army.GE) && (gePlayer.reinforcement.size() == 4)));      }      @Override @@ -68,7 +67,7 @@ public class BattleFrontalAssault extends BattleCommon          if (ctrl.opponent.unitsLeft() == 0)              return ctrl.player; -        if ((ctrl.player.getTurn() < 10) || (ctrl.opponent.getTurn() < 10)) +        if ((ctrl.player.getTurnDone() < 10) || (ctrl.opponent.getTurnDone() < 10))              return null;          int count = 0; diff --git a/core/src/ch/asynk/tankontank/game/battles/BattleHeadToHead.java b/core/src/ch/asynk/tankontank/game/battles/BattleHeadToHead.java index 83baeb7..0e3fde7 100644 --- a/core/src/ch/asynk/tankontank/game/battles/BattleHeadToHead.java +++ b/core/src/ch/asynk/tankontank/game/battles/BattleHeadToHead.java @@ -32,12 +32,12 @@ public class BattleHeadToHead extends BattleCommon      }      @Override -    public Player getPlayer(boolean first, boolean deploymentPhase) +    public Player getPlayer()      { -        if (firstArmy == Army.US) -            return (first ? usPlayer : gePlayer); +        if (gePlayer.getTurnDone() == usPlayer.getTurnDone()) +            return ((firstArmy == Army.US) ? usPlayer : gePlayer);          else -            return (first ? gePlayer : usPlayer); +            return ((firstArmy == Army.US) ? gePlayer : usPlayer);      }      @Override @@ -47,24 +47,12 @@ public class BattleHeadToHead extends BattleCommon      }      @Override -    public boolean deploymentDone(Player player) -    { -        return true; -    } - -    @Override -    public StateType getState(Player player) -    { -        return StateType.SELECT; -    } - -    @Override      public Player checkVictory(Ctrl ctrl)      {          if (ctrl.opponent.unitsLeft() == 0)              return ctrl.player; -        if ((ctrl.player.getTurn() < 10) || (ctrl.opponent.getTurn() < 10)) +        if ((ctrl.player.getTurnDone() < 10) || (ctrl.opponent.getTurnDone() < 10))              return null;          int player = 0; @@ -96,8 +84,9 @@ public class BattleHeadToHead extends BattleCommon      @Override      public void setup(Ctrl ctrl, Map map)      { -        gePlayer.deploymentDone(); -        usPlayer.deploymentDone(); +        // end deployment +        usPlayer.turnEnd(); +        gePlayer.turnEnd();          objectives = new TileSet(map, 3);          objectives.add(map.getHex(7, 7)); diff --git a/core/src/ch/asynk/tankontank/game/battles/BattleLastStand.java b/core/src/ch/asynk/tankontank/game/battles/BattleLastStand.java index fc458a6..7adf3e4 100644 --- a/core/src/ch/asynk/tankontank/game/battles/BattleLastStand.java +++ b/core/src/ch/asynk/tankontank/game/battles/BattleLastStand.java @@ -35,31 +35,15 @@ public class BattleLastStand extends BattleCommon      }      @Override -    public Player getPlayer(boolean first, boolean deploymentPhase) +    public Player getPlayer()      { -        if (deploymentPhase) -            return (first ? gePlayer : usPlayer); -        else -            return (first ? usPlayer : gePlayer); -    } - -    @Override -    public StateType getState(Player player) -    { -        if (player.getTurn() == 0) -            return StateType.DEPLOYMENT; -        return StateType.SELECT; -    } - -    @Override -    public boolean deploymentDone(Player player) -    { -        int n = player.reinforcement(); -        if (n == 0) { -            player.deploymentDone(); -            return true; -        } -        return false; +        if (!gePlayer.isDeploymentDone()) +            return gePlayer; +        if (!usPlayer.isDeploymentDone()) +            return usPlayer; +        if (gePlayer.getTurnDone() == usPlayer.getTurnDone()) +            return usPlayer; +        return gePlayer;      }      public Player checkVictory(Ctrl ctrl) @@ -67,7 +51,7 @@ public class BattleLastStand extends BattleCommon          if (ctrl.opponent.unitsLeft() == 0)              return ctrl.player; -        if ((ctrl.player.getTurn() < 8) || (ctrl.opponent.getTurn() < 8)) +        if ((ctrl.player.getTurnDone() < 8) || (ctrl.opponent.getTurnDone() < 8))              return null;          int gePoints = usPlayer.casualties(); diff --git a/core/src/ch/asynk/tankontank/game/battles/BattleStabToTheFlank.java b/core/src/ch/asynk/tankontank/game/battles/BattleStabToTheFlank.java index 0fed2a3..f251840 100644 --- a/core/src/ch/asynk/tankontank/game/battles/BattleStabToTheFlank.java +++ b/core/src/ch/asynk/tankontank/game/battles/BattleStabToTheFlank.java @@ -35,31 +35,13 @@ public class BattleStabToTheFlank extends BattleCommon      }      @Override -    public Player getPlayer(boolean first, boolean deploymentPhase) +    public Player getPlayer()      { -        if (deploymentPhase) -            return (first ? usPlayer : gePlayer); -        else -            return (first ? usPlayer : gePlayer); -    } - -    @Override -    public StateType getState(Player player) -    { -        if (player.getTurn() == 0) -            return StateType.DEPLOYMENT; -        return StateType.SELECT; -    } - -    @Override -    public boolean deploymentDone(Player player) -    { -        int n = player.reinforcement(); -        if (n == 0) { -            player.deploymentDone(); -            return true; -        } -        return false; +        if (!usPlayer.isDeploymentDone() || usPlayer.getCurrentTurn() == 1) +            return usPlayer; +        if (usPlayer.getTurnDone() > gePlayer.getTurnDone()) +            return gePlayer; +        return usPlayer;      }      public Player checkVictory(Ctrl ctrl) @@ -67,7 +49,7 @@ public class BattleStabToTheFlank extends BattleCommon          if (ctrl.opponent.unitsLeft() == 0)              return ctrl.player; -        if ((ctrl.player.getTurn() < 9) || (ctrl.opponent.getTurn() < 9)) +        if ((ctrl.player.getTurnDone() < 9) || (ctrl.opponent.getTurnDone() < 9))              return null;          int gePoints = usPlayer.casualties(); @@ -96,7 +78,7 @@ public class BattleStabToTheFlank extends BattleCommon      {          if (ctrl.player.is(Army.US))              return false; -        if (ctrl.player.getTurn() != 3) +        if (ctrl.player.getCurrentTurn() != 3)              return false;          Zone geEntry = new Zone(map, 9); | 
