From 821a6d96a5306fab7cb31211f587623af4f3925f Mon Sep 17 00:00:00 2001 From: Jérémy Zurcher Date: Mon, 13 Oct 2014 00:20:06 +0200 Subject: SearchBoard: add canAttack(Pawn, int, int, int, int) --- core/src/ch/asynk/tankontank/engine/SearchBoard.java | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'core/src/ch/asynk') diff --git a/core/src/ch/asynk/tankontank/engine/SearchBoard.java b/core/src/ch/asynk/tankontank/engine/SearchBoard.java index d7e02087..df3c68bc 100644 --- a/core/src/ch/asynk/tankontank/engine/SearchBoard.java +++ b/core/src/ch/asynk/tankontank/engine/SearchBoard.java @@ -345,6 +345,16 @@ public class SearchBoard return targets; } + public boolean canAttack(Pawn pawn, int col0, int row0, int col1, int row1) + { + Node from = getNode(col0, row0); + Node to = getNode(col1, row1); + Tile tile = board.getTile(col0, row0); + + if (distance(from, to) > pawn.getAttackRangeFrom(tile)) return false; + return hasClearLineOfSight(from, to); + } + private boolean hasClearLineOfSight(Node from, Node to) { List nodes = lineOfSight(from.col, from.row, to.col, to.row); -- cgit v1.2.3