public class TwoTwoIslandMove extends java.lang.Object implements MoveIterator, Move
TwoTwoIslandMove#executeMoveOnGraph(PebbleGraphController) is called. This
class uses the double path finding of
controllers.D2AlgorithmController#getDoublePebblePaths(Island, PebbledVertex, PebbledVertex) to perform the
double pebble moves.| Constructor and Description |
|---|
TwoTwoIslandMove(Island i)
Instantiates a new multi move.
|
| Modifier and Type | Method and Description |
|---|---|
int |
executeMoveOnGraph(PebbleInstance c)
Attempt execute the current move using the given GraphController.
|
IslandMove |
getM1()
Gets the m1.
|
IslandMove |
getM2()
Gets the m2.
|
java.util.Set<Vertex> |
getTargetedVerts() |
boolean |
hasNext() |
TwoTwoIslandMove |
next() |
void |
remove() |
public TwoTwoIslandMove(Island i)
i - the idests - the target destinationspublic IslandMove getM1()
public IslandMove getM2()
public boolean hasNext()
hasNext in interface java.util.Iterator<Move>public TwoTwoIslandMove next()
next in interface java.util.Iterator<Move>public void remove()
remove in interface java.util.Iterator<Move>public java.util.Set<Vertex> getTargetedVerts()
getTargetedVerts in interface Movepublic int executeMoveOnGraph(PebbleInstance c) throws CouldNotCompleteMove
MoveexecuteMoveOnGraph in interface Movec - the cCouldNotCompleteMove - the move could not be made