summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
authorJérémy Zurcher <jeremy@asynk.ch>2014-10-01 20:52:25 +0200
committerJérémy Zurcher <jeremy@asynk.ch>2014-10-01 20:52:25 +0200
commitf693542375b099c662c05cc7a5d5fb8b97bf9dd2 (patch)
treedc6e8b32d3dec3bf19b91bbaa3e96e7acade206e /core
parent33f543ab0cfdd39d8e3bbd659c701ab88a89872b (diff)
downloadRustAndDust-f693542375b099c662c05cc7a5d5fb8b97bf9dd2.zip
RustAndDust-f693542375b099c662c05cc7a5d5fb8b97bf9dd2.tar.gz
Board/SearchBoard: possiblePathsFilterAdd -> possiblePathsFilterToggle
Diffstat (limited to 'core')
-rw-r--r--core/src/ch/asynk/tankontank/engine/Board.java4
-rw-r--r--core/src/ch/asynk/tankontank/engine/SearchBoard.java13
2 files changed, 11 insertions, 6 deletions
diff --git a/core/src/ch/asynk/tankontank/engine/Board.java b/core/src/ch/asynk/tankontank/engine/Board.java
index 36df6bd..7099326 100644
--- a/core/src/ch/asynk/tankontank/engine/Board.java
+++ b/core/src/ch/asynk/tankontank/engine/Board.java
@@ -373,9 +373,9 @@ public abstract class Board implements Disposable
return nodesToSet(paths, points);
}
- public int possiblePathsFilterAdd(int col, int row, Set<GridPoint2> points)
+ public int possiblePathsFilterToggle(int col, int row, Set<GridPoint2> points)
{
- List<Vector<SearchBoard.Node>> paths = searchBoard.possiblePathsFilterAdd(col, row);
+ List<Vector<SearchBoard.Node>> paths = searchBoard.possiblePathsFilterToggle(col, row);
return nodesToSet(paths, points);
}
diff --git a/core/src/ch/asynk/tankontank/engine/SearchBoard.java b/core/src/ch/asynk/tankontank/engine/SearchBoard.java
index 9a11835..68a2f51 100644
--- a/core/src/ch/asynk/tankontank/engine/SearchBoard.java
+++ b/core/src/ch/asynk/tankontank/engine/SearchBoard.java
@@ -497,10 +497,15 @@ public class SearchBoard
possiblePathsFilters.clear();
}
- public List<Vector<Node>> possiblePathsFilterAdd(int col, int row)
+ public List<Vector<Node>> possiblePathsFilterToggle(int col, int row)
{
- possiblePathsFilters.add(getNode(col, row));
- int n = possiblePathsFilters.size();
+ Node n = getNode(col, row);
+ if (possiblePathsFilters.contains(n))
+ possiblePathsFilters.remove(n);
+ else
+ possiblePathsFilters.add(n);
+
+ int s = possiblePathsFilters.size();
List<Vector<Node>> paths = new LinkedList<Vector<Node>>();
for (Vector<Node> path : possiblePaths) {
@@ -509,7 +514,7 @@ public class SearchBoard
if (path.contains(filter))
ok += 1;
}
- if (ok == n)
+ if (ok == s)
paths.add(path);
}