diff options
Diffstat (limited to 'core/src/ch/asynk')
-rw-r--r-- | core/src/ch/asynk/tankontank/game/GameCtrl.java | 15 | ||||
-rw-r--r-- | core/src/ch/asynk/tankontank/game/GameState.java | 4 | ||||
-rw-r--r-- | core/src/ch/asynk/tankontank/game/states/GameStateCommon.java (renamed from core/src/ch/asynk/tankontank/game/GameStateCommon.java) | 31 | ||||
-rw-r--r-- | core/src/ch/asynk/tankontank/game/states/GameStateDirection.java (renamed from core/src/ch/asynk/tankontank/game/GameStateDirection.java) | 4 | ||||
-rw-r--r-- | core/src/ch/asynk/tankontank/game/states/GameStateNone.java (renamed from core/src/ch/asynk/tankontank/game/GameStateNone.java) | 8 | ||||
-rw-r--r-- | core/src/ch/asynk/tankontank/game/states/GameStatePath.java (renamed from core/src/ch/asynk/tankontank/game/GameStatePath.java) | 2 |
6 files changed, 32 insertions, 32 deletions
diff --git a/core/src/ch/asynk/tankontank/game/GameCtrl.java b/core/src/ch/asynk/tankontank/game/GameCtrl.java index cdbced1..577aa02 100644 --- a/core/src/ch/asynk/tankontank/game/GameCtrl.java +++ b/core/src/ch/asynk/tankontank/game/GameCtrl.java @@ -2,11 +2,16 @@ package ch.asynk.tankontank.game; import ch.asynk.tankontank.game.Map; +import ch.asynk.tankontank.game.states.GameStateCommon; +import ch.asynk.tankontank.game.states.GameStateNone; +import ch.asynk.tankontank.game.states.GameStatePath; +import ch.asynk.tankontank.game.states.GameStateDirection; + public class GameCtrl { - private GameState noneState = new GameStateNone(); - private GameState pathState = new GameStatePath(); - private GameState directionState = new GameStateDirection(); + private GameState noneState; + private GameState pathState; + private GameState directionState ; private GameState state; @@ -41,13 +46,13 @@ public class GameCtrl public void touchDown(float x, float y) { - if (GameStateCommon.down(x, y)) + if (state.downInMap(x, y)) state.touchDown(); } public void touchUp(float x, float y) { - if (GameStateCommon.up(x, y)) + if (state.upInMap(x, y)) state.touchUp(); } } diff --git a/core/src/ch/asynk/tankontank/game/GameState.java b/core/src/ch/asynk/tankontank/game/GameState.java index af434ef..a66dba1 100644 --- a/core/src/ch/asynk/tankontank/game/GameState.java +++ b/core/src/ch/asynk/tankontank/game/GameState.java @@ -11,4 +11,8 @@ public interface GameState public void touchDown(); public void touchUp(); + + public boolean downInMap(float x, float y); + + public boolean upInMap(float x, float y); } diff --git a/core/src/ch/asynk/tankontank/game/GameStateCommon.java b/core/src/ch/asynk/tankontank/game/states/GameStateCommon.java index 79395eb..d02d345 100644 --- a/core/src/ch/asynk/tankontank/game/GameStateCommon.java +++ b/core/src/ch/asynk/tankontank/game/states/GameStateCommon.java @@ -1,9 +1,13 @@ -package ch.asynk.tankontank.game; +package ch.asynk.tankontank.game.states; import com.badlogic.gdx.math.GridPoint2; import ch.asynk.tankontank.engine.Pawn; import ch.asynk.tankontank.engine.Tile; +import ch.asynk.tankontank.game.Map; +import ch.asynk.tankontank.game.Hex; +import ch.asynk.tankontank.game.GameCtrl; +import ch.asynk.tankontank.game.GameState; public abstract class GameStateCommon implements GameState { @@ -26,35 +30,29 @@ public abstract class GameStateCommon implements GameState this.map = map; } - // downHex - - protected static boolean downHexInMap() + protected static boolean hexInMap(GridPoint2 hex) { - if (downHex.x == -1) return false; - return !map.isOffMap(downHex); + if (hex.x == -1) return false; + return !map.isOffMap(hex); } - protected static boolean down(float x, float y) + public boolean downInMap(float x, float y) { map.getHexAt(downHex, x, y); - return downHexInMap(); + return hexInMap(downHex); } - protected static boolean up(float x, float y) + public boolean upInMap(float x, float y) { map.getHexAt(upHex, x, y); - return downHexInMap(); + return hexInMap(upHex); } - // pawn - protected void setPawn() { pawn = map.getTopPawnAt(hex); } - // hex - protected void setHex() { hex.set(downHex.x, downHex.y); @@ -74,9 +72,4 @@ public abstract class GameStateCommon implements GameState { map.enableOverlayOn(hex, Hex.BLUE, true); } - - // protected Hex getHex(int col, int row) - // { - // return (Hex) map.getTile(col, row); - // } } diff --git a/core/src/ch/asynk/tankontank/game/GameStateDirection.java b/core/src/ch/asynk/tankontank/game/states/GameStateDirection.java index 1fefb3b..39f3743 100644 --- a/core/src/ch/asynk/tankontank/game/GameStateDirection.java +++ b/core/src/ch/asynk/tankontank/game/states/GameStateDirection.java @@ -1,4 +1,4 @@ -package ch.asynk.tankontank.game; +package ch.asynk.tankontank.game.states; import ch.asynk.tankontank.engine.Orientation; @@ -13,6 +13,7 @@ public class GameStateDirection extends GameStateCommon public void touchUp() { Orientation o = Orientation.KEEP;; + if (downHex.y == hex.y) { if (downHex.x == (hex.x - 1)) { o = Orientation.SOUTH; @@ -36,6 +37,7 @@ public class GameStateDirection extends GameStateCommon if (o != Orientation.KEEP) map.movePawn(pawn, o); + map.enableFinalPath(hex, false); map.resetPaths(); ctrl.setState(State.NONE, false); diff --git a/core/src/ch/asynk/tankontank/game/GameStateNone.java b/core/src/ch/asynk/tankontank/game/states/GameStateNone.java index 6243091..bec92ee 100644 --- a/core/src/ch/asynk/tankontank/game/GameStateNone.java +++ b/core/src/ch/asynk/tankontank/game/states/GameStateNone.java @@ -1,14 +1,10 @@ -package ch.asynk.tankontank.game; +package ch.asynk.tankontank.game.states; import ch.asynk.tankontank.game.Map; +import ch.asynk.tankontank.game.GameCtrl; public class GameStateNone extends GameStateCommon { - public GameStateNone() - { - super(); - } - public GameStateNone(GameCtrl ctrl, Map map) { super(ctrl, map); diff --git a/core/src/ch/asynk/tankontank/game/GameStatePath.java b/core/src/ch/asynk/tankontank/game/states/GameStatePath.java index f9a6016..9ffd111 100644 --- a/core/src/ch/asynk/tankontank/game/GameStatePath.java +++ b/core/src/ch/asynk/tankontank/game/states/GameStatePath.java @@ -1,4 +1,4 @@ -package ch.asynk.tankontank.game; +package ch.asynk.tankontank.game.states; import com.badlogic.gdx.math.GridPoint2; |