summaryrefslogtreecommitdiffstats
path: root/core/src/ch/asynk/tankontank/game/Map.java
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2014-09-21 10:06:53 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2014-09-21 10:06:53 +0200
commitf7264e865d49673df59c6f8f08e323db41f8894b (patch)
tree7312915c4d916c7b572e98b849c378cb0ecee040 /core/src/ch/asynk/tankontank/game/Map.java
parent8d43e91dcf005cf076fb3cd571f6125df5837c8d (diff)
downloadRustAndDust-f7264e865d49673df59c6f8f08e323db41f8894b.zip
RustAndDust-f7264e865d49673df59c6f8f08e323db41f8894b.tar.gz
update Map,Hex,Unit extends Board,Tile,Pawn fix GameScreen
Diffstat (limited to 'core/src/ch/asynk/tankontank/game/Map.java')
-rw-r--r--core/src/ch/asynk/tankontank/game/Map.java41
1 files changed, 41 insertions, 0 deletions
diff --git a/core/src/ch/asynk/tankontank/game/Map.java b/core/src/ch/asynk/tankontank/game/Map.java
new file mode 100644
index 0000000..9eef409
--- /dev/null
+++ b/core/src/ch/asynk/tankontank/game/Map.java
@@ -0,0 +1,41 @@
+package ch.asynk.tankontank.game;
+
+import com.badlogic.gdx.graphics.Texture;
+import com.badlogic.gdx.math.GridPoint2;
+
+import ch.asynk.tankontank.engine.Board;
+import ch.asynk.tankontank.engine.Pawn;
+
+public class Map extends Board
+{
+ private Pawn currentPawn;
+ private GridPoint2 currentHex = new GridPoint2(-1, -1);
+
+ public Map(Board.Config cfg, Hex[][] board, Texture texture)
+ {
+ super(cfg, board, texture);
+ }
+
+ public boolean drag(float dx, float dy)
+ {
+ if (currentPawn == null) return false;
+ currentPawn.translate(dx, dy);
+ return true;
+ }
+
+ public void touchDown(float x, float y)
+ {
+ getHexAt(currentHex, x, y);
+ if (currentHex.x != -1) {
+ currentPawn = getTopPawnAt(currentHex);
+ }
+ }
+
+ public void touchUp(float x, float y)
+ {
+ getHexAt(currentHex, x, y);
+ if (currentPawn != null) {
+ movePawnTo(currentPawn, currentHex);
+ }
+ }
+}