From a594a20752ec27a0a9dea6b8e52a72263d00abc3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Sat, 18 Oct 2014 07:31:51 +0200 Subject: move Factory, MapA, MapB into game/battles --- core/src/ch/asynk/tankontank/TankOnTank.java | 2 +- core/src/ch/asynk/tankontank/game/Factory.java | 185 --------------------- core/src/ch/asynk/tankontank/game/MapA.java | 79 --------- core/src/ch/asynk/tankontank/game/MapB.java | 77 --------- .../ch/asynk/tankontank/game/battles/Factory.java | 156 +++++++++++++++++ .../src/ch/asynk/tankontank/game/battles/MapA.java | 77 +++++++++ .../src/ch/asynk/tankontank/game/battles/MapB.java | 75 +++++++++ 7 files changed, 309 insertions(+), 342 deletions(-) delete mode 100644 core/src/ch/asynk/tankontank/game/Factory.java delete mode 100644 core/src/ch/asynk/tankontank/game/MapA.java delete mode 100644 core/src/ch/asynk/tankontank/game/MapB.java create mode 100644 core/src/ch/asynk/tankontank/game/battles/Factory.java create mode 100644 core/src/ch/asynk/tankontank/game/battles/MapA.java create mode 100644 core/src/ch/asynk/tankontank/game/battles/MapB.java diff --git a/core/src/ch/asynk/tankontank/TankOnTank.java b/core/src/ch/asynk/tankontank/TankOnTank.java index b409095..268def1 100644 --- a/core/src/ch/asynk/tankontank/TankOnTank.java +++ b/core/src/ch/asynk/tankontank/TankOnTank.java @@ -8,9 +8,9 @@ import com.badlogic.gdx.graphics.g2d.TextureAtlas; import com.badlogic.gdx.scenes.scene2d.ui.Skin; import ch.asynk.tankontank.screens.LoadScreen; -import ch.asynk.tankontank.game.Factory; import ch.asynk.tankontank.game.Ctrl; import ch.asynk.tankontank.game.Config; +import ch.asynk.tankontank.game.battles.Factory; public class TankOnTank extends Game { diff --git a/core/src/ch/asynk/tankontank/game/Factory.java b/core/src/ch/asynk/tankontank/game/Factory.java deleted file mode 100644 index 86db346..0000000 --- a/core/src/ch/asynk/tankontank/game/Factory.java +++ /dev/null @@ -1,185 +0,0 @@ -package ch.asynk.tankontank.game; - -import com.badlogic.gdx.utils.Disposable; -import com.badlogic.gdx.assets.AssetManager; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.graphics.g2d.TextureAtlas; -import com.badlogic.gdx.graphics.g2d.TextureRegion; - -import com.badlogic.gdx.math.GridPoint2; - -import ch.asynk.tankontank.TankOnTank; -import ch.asynk.tankontank.engine.Board; -import ch.asynk.tankontank.engine.Orientation; -import ch.asynk.tankontank.game.Unit.UnitId; -import ch.asynk.tankontank.game.Unit.UnitType; - -public class Factory implements Board.TileBuilder, Disposable -{ - public enum MapType - { - MAP_A, - MAP_B - } - - public enum Scenarios - { - FAKE - } - - private TextureAtlas atlas; - private final TankOnTank game; - - public Factory(final TankOnTank game) - { - this.game = game; - } - - public void assetsLoaded() - { - this.atlas = game.manager.get("data/assets.atlas", TextureAtlas.class); - } - - @Override - public void dispose() - { - atlas.dispose(); - } - - private Board.Config config() - { - Board.Config cfg = new Board.Config(); - cfg.cols = 10; - cfg.rows = 9; - cfg.x0 = 272; - cfg.y0 = 182; - cfg.w = 189; - cfg.dw = 94; - cfg.s = 110; - cfg.dh = 53.6f; - cfg.h = cfg.s + cfg.dh; - cfg.slope = (cfg.dh / (float) cfg.dw); - - return cfg; - } - - public Map getMap(MapType t) - { - Board.Config cfg = config(); - - Map m = null; - switch(t) { - case MAP_A: - m = new MapA(game, config(), "data/map_a.png"); - break; - case MAP_B: - m = new MapB(game, config(), "data/map_b.png"); - break; - } - - return m; - } - - public Player getPlayer(Army army) - { - if (army == Army.US) - return new Player(game, Army.US, game.skin.getFont("default-font"), atlas, "us-flag", 10); - else - return new Player(game, Army.GE, game.skin.getFont("default-font"), atlas, "ge-flag", 10); - } - - public Unit getUnit(UnitId id) - { - Unit u = null; - UnitType ut = UnitType.HARD_TARGET; - UnitType utHq = UnitType.HARD_TARGET_HQ; - switch(id) { - case GE_AT_GUN: - ut = UnitType.AT_GUN; - u = new Unit(Army.GE, id, ut, 3, 8, 9, 1, atlas, "ge-at-gun", "head"); - break; - case GE_INFANTRY: - ut = UnitType.INFANTRY; - u = new Unit(Army.GE, id, ut, 1, 7, 10, 1, atlas, "ge-infantry", "head"); - break; - case GE_KINGTIGER: - u = new Unit(Army.GE, id, ut, 3, 12, 1, atlas, "ge-kingtiger", "head"); - break; - case GE_PANZER_IV: - u = new Unit(Army.GE, id, ut, 2, 9, 2, atlas, "ge-panzer-iv", "head"); - break; - case GE_PANZER_IV_HQ: - u = new Unit(Army.GE, id, utHq, 2, 9, 2, atlas, "ge-panzer-iv-hq", "head"); - break; - case GE_TIGER: - u = new Unit(Army.GE, id, ut, 3, 11, 1, atlas, "ge-tiger", "head"); - break; - case GE_WESPE: - ut = UnitType.ARTILLERY; - u = new Unit(Army.GE, id, ut, 5, 8, 1, atlas, "ge-wespe", "head"); - break; - case US_AT_GUN: - ut = UnitType.AT_GUN; - u = new Unit(Army.US, id, ut, 1, 7, 10, 1, atlas, "us-at-gun", "head"); - break; - case US_INFANTRY: - ut = UnitType.INFANTRY; - u = new Unit(Army.US, id, ut, 1, 7, 10, 1, atlas, "us-infantry", "head"); - break; - case US_PERSHING: - u = new Unit(Army.US, id, ut, 3, 10, 2, atlas, "us-pershing", "head"); - break; - case US_PERSHING_HQ: - u = new Unit(Army.US, id, utHq, 3, 10, 2, atlas, "us-pershing-hq", "head"); - break; - case US_PRIEST: - ut = UnitType.ARTILLERY; - u = new Unit(Army.US, id, ut, 5, 8, 1, atlas, "us-priest", "head"); - break; - case US_SHERMAN: - u = new Unit(Army.US, id, ut, 2, 9, 2, atlas, "us-sherman", "us-sherman-head"); - break; - case US_SHERMAN_HQ: - u = new Unit(Army.US, id, utHq, 2, 9, 2, atlas, "us-sherman-hq", "head"); - break; - case US_WOLVERINE: - u = new Unit(Army.US, id, ut, 3, 8, 3, atlas, "us-wolverine", "head"); - break; - } - - return u; - } - - public Hex getNewTile(float cx, float cy) - { - return new Hex(cx, cy, atlas); - } - - public Player fakeSetup(Map map, Player gePlayer, Player usPlayer) - { - Orientation o = Orientation.NORTH; - GridPoint2 p = new GridPoint2(); - - gePlayer.addUnit(map.setPawnAt(getUnit(UnitId.GE_TIGER), p.set(4, 7), o)); - gePlayer.addUnit(map.setPawnAt(getUnit(UnitId.GE_TIGER), p.set(3, 6), o)); - gePlayer.addUnit(map.setPawnAt(getUnit(UnitId.GE_PANZER_IV), p.set(3, 5), o)); - gePlayer.addUnit(map.setPawnAt(getUnit(UnitId.GE_PANZER_IV_HQ), p.set(2, 4), o)); - gePlayer.addUnit(map.setPawnAt(getUnit(UnitId.GE_PANZER_IV), p.set(2, 3), o)); - gePlayer.addUnit(map.setPawnAt(getUnit(UnitId.GE_PANZER_IV), p.set(1, 2), o)); - gePlayer.addUnit(map.setPawnAt(getUnit(UnitId.GE_PANZER_IV_HQ), p.set(1, 1), o)); - gePlayer.addUnit(map.setPawnAt(getUnit(UnitId.GE_PANZER_IV), p.set(0, 0), o)); - - o = Orientation.SOUTH; - usPlayer.addUnit(map.setPawnAt(getUnit(UnitId.US_WOLVERINE), p.set(13, 8), o)); - usPlayer.addUnit(map.setPawnAt(getUnit(UnitId.US_WOLVERINE), p.set(12, 7), o)); - usPlayer.addUnit(map.setPawnAt(getUnit(UnitId.US_PRIEST), p.set(12, 6), o)); - usPlayer.addUnit(map.setPawnAt(getUnit(UnitId.US_SHERMAN), p.set(11, 5), o)); - usPlayer.addUnit(map.setPawnAt(getUnit(UnitId.US_SHERMAN_HQ), p.set(11, 4), o)); - usPlayer.addUnit(map.setPawnAt(getUnit(UnitId.US_SHERMAN), p.set(10, 3), o)); - usPlayer.addUnit(map.setPawnAt(getUnit(UnitId.US_SHERMAN), p.set(10, 2), o)); - usPlayer.addUnit(map.setPawnAt(getUnit(UnitId.US_SHERMAN_HQ), p.set(9, 1), o)); - usPlayer.addUnit(map.setPawnAt(getUnit(UnitId.US_SHERMAN), p.set(9, 0), o)); - - return usPlayer; - } -} diff --git a/core/src/ch/asynk/tankontank/game/MapA.java b/core/src/ch/asynk/tankontank/game/MapA.java deleted file mode 100644 index 0f33bcb..0000000 --- a/core/src/ch/asynk/tankontank/game/MapA.java +++ /dev/null @@ -1,79 +0,0 @@ -package ch.asynk.tankontank.game; - -import com.badlogic.gdx.assets.AssetManager; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.graphics.g2d.TextureAtlas; - -import ch.asynk.tankontank.TankOnTank; -import ch.asynk.tankontank.engine.Board; -import ch.asynk.tankontank.engine.Orientation; - -public class MapA extends Map -{ - public MapA(final TankOnTank game, Board.Config cfg, String textureName) - { - super(game, cfg, textureName); - } - - @Override - protected void setup() - { - getHex(5, 1).terrain = Hex.Terrain.HILLS; - getHex(7, 3).terrain = Hex.Terrain.HILLS; - getHex(7, 8).terrain = Hex.Terrain.HILLS; - getHex(8, 8).terrain = Hex.Terrain.HILLS; - - getHex(5, 0).terrain = Hex.Terrain.WOODS; - getHex(6, 0).terrain = Hex.Terrain.WOODS; - getHex(3, 3).terrain = Hex.Terrain.WOODS; - getHex(4, 3).terrain = Hex.Terrain.WOODS; - getHex(10, 7).terrain = Hex.Terrain.WOODS; - getHex(11, 7).terrain = Hex.Terrain.WOODS; - getHex(11, 8).terrain = Hex.Terrain.WOODS; - - getHex(6, 1).terrain = Hex.Terrain.TOWN; - getHex(2, 2).terrain = Hex.Terrain.TOWN; - getHex(6, 4).terrain = Hex.Terrain.TOWN; - getHex(10, 5).terrain = Hex.Terrain.TOWN; - getHex(7, 7).terrain = Hex.Terrain.TOWN; - getHex(4, 6).terrain = Hex.Terrain.TOWN; - - getHex(10, 1).terrain = Hex.Terrain.OFFMAP; - getHex(11, 3).terrain = Hex.Terrain.OFFMAP; - getHex(12, 5).terrain = Hex.Terrain.OFFMAP; - getHex(13, 7).terrain = Hex.Terrain.OFFMAP; - - int N = Orientation.NORTH.s; - int S = Orientation.SOUTH.s; - int NE = Orientation.NORTH_EAST.s; - int NW = Orientation.NORTH_WEST.s; - int SE = Orientation.SOUTH_EAST.s; - int SW = Orientation.SOUTH_WEST.s; - - getHex(6, 1).roads = (NW | SW); - for (int i = 1; i < 11; i++) { - if (i == 6) - getHex(i, 2).roads = (NE | S | SW); - else if (i == 7) - getHex(i, 2).roads = (N | SE); - else - getHex(i, 2).roads = (N | S); - } - getHex(6, 3).roads = (NE | SW); - getHex(6, 4).roads = (N | NE | SW); - getHex(7, 4).roads = (N | S); - getHex(8, 4).roads = (NW | S); - getHex(6, 5).roads = (NE | SW); - getHex(8, 5).roads = (N | SW); - getHex(9, 5).roads = (N | S | NE); - getHex(10, 5).roads = (N | S); - getHex(11, 5).roads = (N | S); - getHex(3, 6).roads = (N | S); - getHex(4, 6).roads = (N | S); - getHex(5, 6).roads = (N | S); - getHex(6, 6).roads = (NE | NW | S); - getHex(8, 6).roads = (NE | SW); - getHex(7, 7).roads = (N | SE); - getHex(8, 7).roads = (NE | S); - } -} diff --git a/core/src/ch/asynk/tankontank/game/MapB.java b/core/src/ch/asynk/tankontank/game/MapB.java deleted file mode 100644 index 7314aea..0000000 --- a/core/src/ch/asynk/tankontank/game/MapB.java +++ /dev/null @@ -1,77 +0,0 @@ -package ch.asynk.tankontank.game; - -import com.badlogic.gdx.assets.AssetManager; -import com.badlogic.gdx.graphics.Texture; -import com.badlogic.gdx.graphics.g2d.TextureAtlas; - -import ch.asynk.tankontank.TankOnTank; -import ch.asynk.tankontank.engine.Board; -import ch.asynk.tankontank.engine.Orientation; - -public class MapB extends Map -{ - public MapB(final TankOnTank game, Board.Config cfg, String textureName) - { - super(game, cfg, textureName); - } - - @Override - protected void setup() - { - getHex(4, 0).terrain = Hex.Terrain.HILLS; - getHex(5, 0).terrain = Hex.Terrain.HILLS; - getHex(1, 1).terrain = Hex.Terrain.HILLS; - getHex(9, 7).terrain = Hex.Terrain.HILLS; - getHex(10, 7).terrain = Hex.Terrain.HILLS; - - getHex(3, 0).terrain = Hex.Terrain.WOODS; - getHex(6, 0).terrain = Hex.Terrain.WOODS; - getHex(8, 1).terrain = Hex.Terrain.WOODS; - getHex(9, 2).terrain = Hex.Terrain.WOODS; - getHex(4, 5).terrain = Hex.Terrain.WOODS; - getHex(5, 6).terrain = Hex.Terrain.WOODS; - getHex(6, 6).terrain = Hex.Terrain.WOODS; - getHex(11, 8).terrain = Hex.Terrain.WOODS; - - getHex(1, 2).terrain = Hex.Terrain.TOWN; - getHex(5, 3).terrain = Hex.Terrain.TOWN; - getHex(6, 4).terrain = Hex.Terrain.TOWN; - getHex(7, 8).terrain = Hex.Terrain.TOWN; - - getHex(10, 1).terrain = Hex.Terrain.OFFMAP; - getHex(11, 3).terrain = Hex.Terrain.OFFMAP; - getHex(12, 5).terrain = Hex.Terrain.OFFMAP; - getHex(13, 7).terrain = Hex.Terrain.OFFMAP; - - int N = Orientation.NORTH.s; - int S = Orientation.SOUTH.s; - int NE = Orientation.NORTH_EAST.s; - int NW = Orientation.NORTH_WEST.s; - int SE = Orientation.SOUTH_EAST.s; - int SW = Orientation.SOUTH_WEST.s; - - getHex(1, 2).roads = (S | NW); - getHex(2, 3).roads = (SE | N); - getHex(3, 3).roads = (S | N); - getHex(4, 3).roads = (S | N); - getHex(5, 3).roads = (S | NW); - getHex(6, 4).roads = (SE | N); - getHex(7, 4).roads = (S | N); - getHex(8, 4).roads = (S | SW | N); - getHex(9, 4).roads = (S | N); - getHex(10, 4).roads = (S | N); - getHex(11, 4).roads = (S | N); - getHex(4, 8).roads = (S | N); - getHex(5, 8).roads = (S | N); - getHex(6, 8).roads = (S | N); - getHex(7, 8).roads = (S | N); - getHex(8, 8).roads = (S | NE); - getHex(8, 7).roads = (SW | NE); - getHex(8, 6).roads = (SW | NE | N); - getHex(8, 5).roads = (SW | NE); - getHex(9, 6).roads = (S | N); - getHex(10, 6).roads = (S | N); - getHex(11, 6).roads = (S | N); - getHex(12, 6).roads = (S | N); - } -} diff --git a/core/src/ch/asynk/tankontank/game/battles/Factory.java b/core/src/ch/asynk/tankontank/game/battles/Factory.java new file mode 100644 index 0000000..f753d47 --- /dev/null +++ b/core/src/ch/asynk/tankontank/game/battles/Factory.java @@ -0,0 +1,156 @@ +package ch.asynk.tankontank.game.battles; + +import com.badlogic.gdx.utils.Disposable; +import com.badlogic.gdx.graphics.g2d.TextureAtlas; + +import ch.asynk.tankontank.TankOnTank; +import ch.asynk.tankontank.engine.Board; +import ch.asynk.tankontank.game.Player; +import ch.asynk.tankontank.game.Map; +import ch.asynk.tankontank.game.Hex; +import ch.asynk.tankontank.game.Army; +import ch.asynk.tankontank.game.Unit; +import ch.asynk.tankontank.game.Unit.UnitId; +import ch.asynk.tankontank.game.Unit.UnitType; + +public class Factory implements Board.TileBuilder, Disposable +{ + public enum MapType + { + MAP_A, + MAP_B + } + + public enum Scenarios + { + FAKE + } + + private TextureAtlas atlas; + private final TankOnTank game; + + public Factory(final TankOnTank game) + { + this.game = game; + } + + public void assetsLoaded() + { + this.atlas = game.manager.get("data/assets.atlas", TextureAtlas.class); + } + + @Override + public void dispose() + { + atlas.dispose(); + } + + private Board.Config config() + { + Board.Config cfg = new Board.Config(); + cfg.cols = 10; + cfg.rows = 9; + cfg.x0 = 272; + cfg.y0 = 182; + cfg.w = 189; + cfg.dw = 94; + cfg.s = 110; + cfg.dh = 53.6f; + cfg.h = cfg.s + cfg.dh; + cfg.slope = (cfg.dh / (float) cfg.dw); + + return cfg; + } + + public Map getMap(MapType t) + { + Board.Config cfg = config(); + + Map m = null; + switch(t) { + case MAP_A: + m = new MapA(game, config(), "data/map_a.png"); + break; + case MAP_B: + m = new MapB(game, config(), "data/map_b.png"); + break; + } + + return m; + } + + public Player getPlayer(Army army) + { + if (army == Army.US) + return new Player(game, Army.US, game.skin.getFont("default-font"), atlas, "us-flag", 10); + else + return new Player(game, Army.GE, game.skin.getFont("default-font"), atlas, "ge-flag", 10); + } + + public Unit getUnit(UnitId id) + { + Unit u = null; + UnitType ut = UnitType.HARD_TARGET; + UnitType utHq = UnitType.HARD_TARGET_HQ; + switch(id) { + case GE_AT_GUN: + ut = UnitType.AT_GUN; + u = new Unit(Army.GE, id, ut, 3, 8, 9, 1, atlas, "ge-at-gun", "head"); + break; + case GE_INFANTRY: + ut = UnitType.INFANTRY; + u = new Unit(Army.GE, id, ut, 1, 7, 10, 1, atlas, "ge-infantry", "head"); + break; + case GE_KINGTIGER: + u = new Unit(Army.GE, id, ut, 3, 12, 1, atlas, "ge-kingtiger", "head"); + break; + case GE_PANZER_IV: + u = new Unit(Army.GE, id, ut, 2, 9, 2, atlas, "ge-panzer-iv", "head"); + break; + case GE_PANZER_IV_HQ: + u = new Unit(Army.GE, id, utHq, 2, 9, 2, atlas, "ge-panzer-iv-hq", "head"); + break; + case GE_TIGER: + u = new Unit(Army.GE, id, ut, 3, 11, 1, atlas, "ge-tiger", "head"); + break; + case GE_WESPE: + ut = UnitType.ARTILLERY; + u = new Unit(Army.GE, id, ut, 5, 8, 1, atlas, "ge-wespe", "head"); + break; + case US_AT_GUN: + ut = UnitType.AT_GUN; + u = new Unit(Army.US, id, ut, 1, 7, 10, 1, atlas, "us-at-gun", "head"); + break; + case US_INFANTRY: + ut = UnitType.INFANTRY; + u = new Unit(Army.US, id, ut, 1, 7, 10, 1, atlas, "us-infantry", "head"); + break; + case US_PERSHING: + u = new Unit(Army.US, id, ut, 3, 10, 2, atlas, "us-pershing", "head"); + break; + case US_PERSHING_HQ: + u = new Unit(Army.US, id, utHq, 3, 10, 2, atlas, "us-pershing-hq", "head"); + break; + case US_PRIEST: + ut = UnitType.ARTILLERY; + u = new Unit(Army.US, id, ut, 5, 8, 1, atlas, "us-priest", "head"); + break; + case US_SHERMAN: + u = new Unit(Army.US, id, ut, 2, 9, 2, atlas, "us-sherman", "us-sherman-head"); + break; + case US_SHERMAN_HQ: + u = new Unit(Army.US, id, utHq, 2, 9, 2, atlas, "us-sherman-hq", "head"); + break; + case US_WOLVERINE: + u = new Unit(Army.US, id, ut, 3, 8, 3, atlas, "us-wolverine", "head"); + break; + } + + return u; + } + + public Hex getNewTile(float cx, float cy) + { + return new Hex(cx, cy, atlas); + } +} diff --git a/core/src/ch/asynk/tankontank/game/battles/MapA.java b/core/src/ch/asynk/tankontank/game/battles/MapA.java new file mode 100644 index 0000000..3f18e39 --- /dev/null +++ b/core/src/ch/asynk/tankontank/game/battles/MapA.java @@ -0,0 +1,77 @@ +package ch.asynk.tankontank.game.battles; + +import ch.asynk.tankontank.TankOnTank; +import ch.asynk.tankontank.engine.Board; +import ch.asynk.tankontank.engine.Orientation; +import ch.asynk.tankontank.game.Map; +import ch.asynk.tankontank.game.Hex; + +public class MapA extends Map +{ + public MapA(final TankOnTank game, Board.Config cfg, String textureName) + { + super(game, cfg, textureName); + } + + @Override + protected void setup() + { + getHex(5, 1).terrain = Hex.Terrain.HILLS; + getHex(7, 3).terrain = Hex.Terrain.HILLS; + getHex(7, 8).terrain = Hex.Terrain.HILLS; + getHex(8, 8).terrain = Hex.Terrain.HILLS; + + getHex(5, 0).terrain = Hex.Terrain.WOODS; + getHex(6, 0).terrain = Hex.Terrain.WOODS; + getHex(3, 3).terrain = Hex.Terrain.WOODS; + getHex(4, 3).terrain = Hex.Terrain.WOODS; + getHex(10, 7).terrain = Hex.Terrain.WOODS; + getHex(11, 7).terrain = Hex.Terrain.WOODS; + getHex(11, 8).terrain = Hex.Terrain.WOODS; + + getHex(6, 1).terrain = Hex.Terrain.TOWN; + getHex(2, 2).terrain = Hex.Terrain.TOWN; + getHex(6, 4).terrain = Hex.Terrain.TOWN; + getHex(10, 5).terrain = Hex.Terrain.TOWN; + getHex(7, 7).terrain = Hex.Terrain.TOWN; + getHex(4, 6).terrain = Hex.Terrain.TOWN; + + getHex(10, 1).terrain = Hex.Terrain.OFFMAP; + getHex(11, 3).terrain = Hex.Terrain.OFFMAP; + getHex(12, 5).terrain = Hex.Terrain.OFFMAP; + getHex(13, 7).terrain = Hex.Terrain.OFFMAP; + + int N = Orientation.NORTH.s; + int S = Orientation.SOUTH.s; + int NE = Orientation.NORTH_EAST.s; + int NW = Orientation.NORTH_WEST.s; + int SE = Orientation.SOUTH_EAST.s; + int SW = Orientation.SOUTH_WEST.s; + + getHex(6, 1).roads = (NW | SW); + for (int i = 1; i < 11; i++) { + if (i == 6) + getHex(i, 2).roads = (NE | S | SW); + else if (i == 7) + getHex(i, 2).roads = (N | SE); + else + getHex(i, 2).roads = (N | S); + } + getHex(6, 3).roads = (NE | SW); + getHex(6, 4).roads = (N | NE | SW); + getHex(7, 4).roads = (N | S); + getHex(8, 4).roads = (NW | S); + getHex(6, 5).roads = (NE | SW); + getHex(8, 5).roads = (N | SW); + getHex(9, 5).roads = (N | S | NE); + getHex(10, 5).roads = (N | S); + getHex(11, 5).roads = (N | S); + getHex(3, 6).roads = (N | S); + getHex(4, 6).roads = (N | S); + getHex(5, 6).roads = (N | S); + getHex(6, 6).roads = (NE | NW | S); + getHex(8, 6).roads = (NE | SW); + getHex(7, 7).roads = (N | SE); + getHex(8, 7).roads = (NE | S); + } +} diff --git a/core/src/ch/asynk/tankontank/game/battles/MapB.java b/core/src/ch/asynk/tankontank/game/battles/MapB.java new file mode 100644 index 0000000..c0f23a2 --- /dev/null +++ b/core/src/ch/asynk/tankontank/game/battles/MapB.java @@ -0,0 +1,75 @@ +package ch.asynk.tankontank.game.battles; + +import ch.asynk.tankontank.TankOnTank; +import ch.asynk.tankontank.engine.Board; +import ch.asynk.tankontank.engine.Orientation; +import ch.asynk.tankontank.game.Map; +import ch.asynk.tankontank.game.Hex; + +public class MapB extends Map +{ + public MapB(final TankOnTank game, Board.Config cfg, String textureName) + { + super(game, cfg, textureName); + } + + @Override + protected void setup() + { + getHex(4, 0).terrain = Hex.Terrain.HILLS; + getHex(5, 0).terrain = Hex.Terrain.HILLS; + getHex(1, 1).terrain = Hex.Terrain.HILLS; + getHex(9, 7).terrain = Hex.Terrain.HILLS; + getHex(10, 7).terrain = Hex.Terrain.HILLS; + + getHex(3, 0).terrain = Hex.Terrain.WOODS; + getHex(6, 0).terrain = Hex.Terrain.WOODS; + getHex(8, 1).terrain = Hex.Terrain.WOODS; + getHex(9, 2).terrain = Hex.Terrain.WOODS; + getHex(4, 5).terrain = Hex.Terrain.WOODS; + getHex(5, 6).terrain = Hex.Terrain.WOODS; + getHex(6, 6).terrain = Hex.Terrain.WOODS; + getHex(11, 8).terrain = Hex.Terrain.WOODS; + + getHex(1, 2).terrain = Hex.Terrain.TOWN; + getHex(5, 3).terrain = Hex.Terrain.TOWN; + getHex(6, 4).terrain = Hex.Terrain.TOWN; + getHex(7, 8).terrain = Hex.Terrain.TOWN; + + getHex(10, 1).terrain = Hex.Terrain.OFFMAP; + getHex(11, 3).terrain = Hex.Terrain.OFFMAP; + getHex(12, 5).terrain = Hex.Terrain.OFFMAP; + getHex(13, 7).terrain = Hex.Terrain.OFFMAP; + + int N = Orientation.NORTH.s; + int S = Orientation.SOUTH.s; + int NE = Orientation.NORTH_EAST.s; + int NW = Orientation.NORTH_WEST.s; + int SE = Orientation.SOUTH_EAST.s; + int SW = Orientation.SOUTH_WEST.s; + + getHex(1, 2).roads = (S | NW); + getHex(2, 3).roads = (SE | N); + getHex(3, 3).roads = (S | N); + getHex(4, 3).roads = (S | N); + getHex(5, 3).roads = (S | NW); + getHex(6, 4).roads = (SE | N); + getHex(7, 4).roads = (S | N); + getHex(8, 4).roads = (S | SW | N); + getHex(9, 4).roads = (S | N); + getHex(10, 4).roads = (S | N); + getHex(11, 4).roads = (S | N); + getHex(4, 8).roads = (S | N); + getHex(5, 8).roads = (S | N); + getHex(6, 8).roads = (S | N); + getHex(7, 8).roads = (S | N); + getHex(8, 8).roads = (S | NE); + getHex(8, 7).roads = (SW | NE); + getHex(8, 6).roads = (SW | NE | N); + getHex(8, 5).roads = (SW | NE); + getHex(9, 6).roads = (S | N); + getHex(10, 6).roads = (S | N); + getHex(11, 6).roads = (S | N); + getHex(12, 6).roads = (S | N); + } +} -- cgit v1.1-2-g2b99