From 5a51e0a605d9f33ee21027a206b709216c68d3fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Mon, 13 Oct 2014 12:18:03 +0200 Subject: Map: boolean attackPawn(Pawn, GridPoint2, GridPoint2, int) --- core/src/ch/asynk/tankontank/game/Map.java | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/core/src/ch/asynk/tankontank/game/Map.java b/core/src/ch/asynk/tankontank/game/Map.java index e5764f0..1df308f 100644 --- a/core/src/ch/asynk/tankontank/game/Map.java +++ b/core/src/ch/asynk/tankontank/game/Map.java @@ -260,6 +260,28 @@ public abstract class Map extends Board clearPointVector(possibleTargets); } + public boolean attackPawn(Pawn pawn, GridPoint2 from, GridPoint2 to, int dice) + { + Hex hex = getHex(to.x, to.y); + Pawn target = hex.getTopPawn(); + + int activatedUnits = activatedPawns.size(); + + if (dice == 2) return false; + if (dice == 12) return true; + + // TODO : flank attack + boolean success = (dice + activatedUnits >= hex.defenseFor(target, activatedPawns)); + + // TODO : free move for infantry + for (Pawn p : activatedPawns) + pawn.attack(target); + activablePawns.clear(); + activatedPawns.clear(); + + return success; + } + public int movePawn(Pawn pawn, GridPoint2 from, Orientation o) { System.err.println(" movePawn : " + from.x + ";" + from.y + " " + o); -- cgit v1.1-2-g2b99