From 50512b7bdd11138d7c5d74ad94f4c280c7e36f66 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Zurcher?= Date: Wed, 8 Oct 2014 09:33:36 +0200 Subject: Board: add buildMoveAssists(), possibleMovesFrom()->buildPossibleMovesFrom(), possibleTargetsFrom()->buildPossibleTargetsFrom() --- core/src/ch/asynk/tankontank/engine/Board.java | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/core/src/ch/asynk/tankontank/engine/Board.java b/core/src/ch/asynk/tankontank/engine/Board.java index 4227f53..3b5ef79 100644 --- a/core/src/ch/asynk/tankontank/engine/Board.java +++ b/core/src/ch/asynk/tankontank/engine/Board.java @@ -313,18 +313,33 @@ public abstract class Board implements Disposable } } - public void possibleMovesFrom(Pawn pawn, GridPoint2 coords, ArrayList moves) + public void buildPossibleMovesFrom(Pawn pawn, GridPoint2 coords, ArrayList moves) { List nodes = searchBoard.possibleMovesFrom(pawn, coords.x, coords.y); nodesToPoints(nodes, moves); } - public void possibleTargetsFrom(Pawn pawn, GridPoint2 coords, ArrayList targets) + public void buildPossibleTargetsFrom(Pawn pawn, GridPoint2 coords, ArrayList targets) { List nodes = searchBoard.possibleTargetsFrom(pawn, coords.x, coords.y); nodesToPoints(nodes, targets); } + public void buildMoveAssists(Pawn pawn, GridPoint2 coords, List assists) + { + assists.clear(); + buildNeighboursFor(coords); + for (int i = 0; i < 6; i++) { + GridPoint2 neighbour = neighbours[i]; + Tile t = getTileSafe(neighbour); + if (t != null) { + Pawn p = t.getTopPawn(); + if ((p != null) && (!pawn.isEnemy(p))) + assists.add(neighbour); + } + } + } + public void clearPointSet(Set points) { for (GridPoint2 point : points) -- cgit v1.1-2-g2b99