From 6a85509a168d7dff26424f0d8022ae33624cbaf7 Mon Sep 17 00:00:00 2001 From: Jérémy Zurcher Date: Mon, 20 Oct 2014 10:22:22 +0200 Subject: Pawn,Unit: add boolean isHardTarget() this fixes canMove/Rotate/Attack --- core/src/ch/asynk/tankontank/engine/Pawn.java | 1 + core/src/ch/asynk/tankontank/game/Unit.java | 12 +++++++++--- 2 files changed, 10 insertions(+), 3 deletions(-) (limited to 'core') diff --git a/core/src/ch/asynk/tankontank/engine/Pawn.java b/core/src/ch/asynk/tankontank/engine/Pawn.java index eb5953f1..e623d3b6 100644 --- a/core/src/ch/asynk/tankontank/engine/Pawn.java +++ b/core/src/ch/asynk/tankontank/engine/Pawn.java @@ -49,6 +49,7 @@ public abstract class Pawn implements Moveable, Disposable public abstract boolean isHq(); public abstract boolean isHqOf(Pawn other); public abstract boolean isUnit(); + public abstract boolean isHardTarget(); public abstract boolean canMove(); public abstract boolean canRotate(); diff --git a/core/src/ch/asynk/tankontank/game/Unit.java b/core/src/ch/asynk/tankontank/game/Unit.java index f047de4f..822472a3 100644 --- a/core/src/ch/asynk/tankontank/game/Unit.java +++ b/core/src/ch/asynk/tankontank/game/Unit.java @@ -126,6 +126,12 @@ public class Unit extends HeadedPawn return (type == UnitType.HARD_TARGET_HQ); } + @Override + public boolean isHardTarget() + { + return ((type == UnitType.HARD_TARGET) || (type == UnitType.HARD_TARGET_HQ)); + } + @Override public boolean isHqOf(Pawn other) { @@ -144,21 +150,21 @@ public class Unit extends HeadedPawn @Override public boolean canRotate() { - if (type == UnitType.HARD_TARGET) return !hasMoved; + if (isHardTarget()) return !hasMoved; return (!hasMoved && !hasFired); } @Override public boolean canMove() { - if (type == UnitType.HARD_TARGET) return !hasMoved; + if (isHardTarget()) return !hasMoved; return (!hasMoved && !hasFired); } @Override public boolean canAttack() { - if (type == UnitType.HARD_TARGET) return !hasFired; + if (isHardTarget()) return !hasFired; return (!hasMoved && !hasFired); } -- cgit v1.2.3