diff options
author | Jérémy Zurcher <jeremy@asynk.ch> | 2014-10-13 12:04:38 +0200 |
---|---|---|
committer | Jérémy Zurcher <jeremy@asynk.ch> | 2014-10-13 12:04:38 +0200 |
commit | 4b85e3f75e765a4240e2d206636824650074d26b (patch) | |
tree | b5a624a43df174574efc24e1a3ec6fa858b1f2df /core/src/ch/asynk/tankontank/game | |
parent | 9f12b0c465f07c110a5f75c032b1943fc1d36080 (diff) | |
download | RustAndDust-4b85e3f75e765a4240e2d206636824650074d26b.zip RustAndDust-4b85e3f75e765a4240e2d206636824650074d26b.tar.gz |
Tile,Hex: add int defenseFor(Pawn, List<Pawn>)
Diffstat (limited to 'core/src/ch/asynk/tankontank/game')
-rw-r--r-- | core/src/ch/asynk/tankontank/game/Hex.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/core/src/ch/asynk/tankontank/game/Hex.java b/core/src/ch/asynk/tankontank/game/Hex.java index d61d601..e54574d 100644 --- a/core/src/ch/asynk/tankontank/game/Hex.java +++ b/core/src/ch/asynk/tankontank/game/Hex.java @@ -1,5 +1,6 @@ package ch.asynk.tankontank.game; +import java.util.List; import java.util.Iterator; import com.badlogic.gdx.graphics.g2d.TextureAtlas; @@ -100,4 +101,36 @@ public class Hex extends Tile return c; } + + @Override + public int defenseFor(Pawn target, List<Pawn> foes) + { + Unit u = (Unit) target; + boolean terrainBonus = true; + + for (Pawn foe : foes) { + if (((Unit) foe).type == Unit.UnitType.INFANTRY) + terrainBonus = false; + } + + int def = u.def; + switch(terrain) { + case HILLS: + if (u.type != Unit.UnitType.HARD_TARGET) + def = u.cdef; + break; + case WOODS: + case TOWN: + if (u.type != Unit.UnitType.HARD_TARGET) + def = u.cdef; + if (terrainBonus) + def += 1; + break; + default: + def = ((Unit) target).def; + break; + } + + return def; + } } |