From 821a6d96a5306fab7cb31211f587623af4f3925f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= 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(+) diff --git a/core/src/ch/asynk/tankontank/engine/SearchBoard.java b/core/src/ch/asynk/tankontank/engine/SearchBoard.java index d7e0208..df3c68b 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.1-2-g2b99