puzzlesolver: break out -1 piece value into a constant

This commit is contained in:
Lotto
2018-10-20 20:21:52 +02:00
parent 9622fd6ea2
commit 681720842c
3 changed files with 9 additions and 6 deletions

View File

@@ -31,6 +31,7 @@ import net.runelite.client.plugins.puzzlesolver.solver.pathfinding.Pathfinder;
public class PuzzleSolver implements Runnable public class PuzzleSolver implements Runnable
{ {
public static final int DIMENSION = 5; public static final int DIMENSION = 5;
public static final int BLANK_TILE_VALUE = -1;
private Pathfinder pathfinder; private Pathfinder pathfinder;
private PuzzleState startState; private PuzzleState startState;

View File

@@ -30,6 +30,7 @@ import java.util.Arrays;
import java.util.List; import java.util.List;
import net.runelite.client.plugins.puzzlesolver.solver.heuristics.Heuristic; import net.runelite.client.plugins.puzzlesolver.solver.heuristics.Heuristic;
import static net.runelite.client.plugins.puzzlesolver.solver.PuzzleSolver.DIMENSION; import static net.runelite.client.plugins.puzzlesolver.solver.PuzzleSolver.DIMENSION;
import static net.runelite.client.plugins.puzzlesolver.solver.PuzzleSolver.BLANK_TILE_VALUE;
public class PuzzleState public class PuzzleState
{ {
@@ -54,7 +55,7 @@ public class PuzzleState
for (int i = 0; i < pieces.length; i++) for (int i = 0; i < pieces.length; i++)
{ {
if (pieces[i] == -1) if (pieces[i] == BLANK_TILE_VALUE)
{ {
emptyPiece = i; emptyPiece = i;
} }
@@ -89,7 +90,7 @@ public class PuzzleState
PuzzleState state = new PuzzleState(this); PuzzleState state = new PuzzleState(this);
state.parent = this; state.parent = this;
state.pieces[emptyPiece - 1] = -1; state.pieces[emptyPiece - 1] = BLANK_TILE_VALUE;
state.pieces[emptyPiece] = pieces[emptyPiece - 1]; state.pieces[emptyPiece] = pieces[emptyPiece - 1];
state.emptyPiece--; state.emptyPiece--;
@@ -105,7 +106,7 @@ public class PuzzleState
PuzzleState state = new PuzzleState(this); PuzzleState state = new PuzzleState(this);
state.parent = this; state.parent = this;
state.pieces[emptyPiece + 1] = -1; state.pieces[emptyPiece + 1] = BLANK_TILE_VALUE;
state.pieces[emptyPiece] = pieces[emptyPiece + 1]; state.pieces[emptyPiece] = pieces[emptyPiece + 1];
state.emptyPiece++; state.emptyPiece++;
@@ -121,7 +122,7 @@ public class PuzzleState
PuzzleState state = new PuzzleState(this); PuzzleState state = new PuzzleState(this);
state.parent = this; state.parent = this;
state.pieces[emptyPiece - DIMENSION] = -1; state.pieces[emptyPiece - DIMENSION] = BLANK_TILE_VALUE;
state.pieces[emptyPiece] = pieces[emptyPiece - DIMENSION]; state.pieces[emptyPiece] = pieces[emptyPiece - DIMENSION];
state.emptyPiece -= DIMENSION; state.emptyPiece -= DIMENSION;
@@ -137,7 +138,7 @@ public class PuzzleState
PuzzleState state = new PuzzleState(this); PuzzleState state = new PuzzleState(this);
state.parent = this; state.parent = this;
state.pieces[emptyPiece + DIMENSION] = -1; state.pieces[emptyPiece + DIMENSION] = BLANK_TILE_VALUE;
state.pieces[emptyPiece] = pieces[emptyPiece + DIMENSION]; state.pieces[emptyPiece] = pieces[emptyPiece + DIMENSION];
state.emptyPiece += DIMENSION; state.emptyPiece += DIMENSION;

View File

@@ -28,6 +28,7 @@ package net.runelite.client.plugins.puzzlesolver.solver.heuristics;
import net.runelite.client.plugins.puzzlesolver.solver.PuzzleState; import net.runelite.client.plugins.puzzlesolver.solver.PuzzleState;
import static net.runelite.client.plugins.puzzlesolver.solver.PuzzleSolver.DIMENSION; import static net.runelite.client.plugins.puzzlesolver.solver.PuzzleSolver.DIMENSION;
import static net.runelite.client.plugins.puzzlesolver.solver.PuzzleSolver.BLANK_TILE_VALUE;
/** /**
* An implementation of the manhattan distance heuristic function. * An implementation of the manhattan distance heuristic function.
@@ -51,7 +52,7 @@ public class ManhattanDistance implements Heuristic
{ {
int piece = state.getPiece(x, y); int piece = state.getPiece(x, y);
if (piece == -1) if (piece == BLANK_TILE_VALUE)
{ {
continue; continue;
} }