From 30a2d67036412ecb5f3ba08ef6fcaeebc7b346af Mon Sep 17 00:00:00 2001 From: Jérémy Zurcher Date: Wed, 18 Feb 2015 12:00:27 +0100 Subject: Board,Map: add attack(Pawn, Pawn, boolean) to recompute and validate attack --- core/src/ch/asynk/tankontank/engine/Board.java | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'core/src/ch/asynk/tankontank/engine') diff --git a/core/src/ch/asynk/tankontank/engine/Board.java b/core/src/ch/asynk/tankontank/engine/Board.java index b8aead6c..a097454d 100644 --- a/core/src/ch/asynk/tankontank/engine/Board.java +++ b/core/src/ch/asynk/tankontank/engine/Board.java @@ -465,6 +465,12 @@ public abstract class Board implements Disposable, Animation pawn.revertLastMove(); } + public void attack(final Pawn pawn, final Pawn target, boolean clearVisibility) + { + if (!pawn.canEngage(target) || !searchBoard.canAttack(pawn, target, clearVisibility)) + throw new RuntimeException(String.format("%s cannot attack %s", pawn, target)); + } + public Tile getTileAt(float mx, float my) { // compute row -- cgit v1.2.3