public abstract class AbstractGraphProblem<V extends VertexData,E extends EdgeData>
extends java.lang.Object
Constructor and Description |
---|
AbstractGraphProblem() |
Modifier and Type | Method and Description |
---|---|
abstract PuzzleInstance |
copyPuzzle()
Make a copy of this object, but not exactly! IMPORTANT: This copy should make a copy so that the copy's initial
settings are set to this objects current settings.
|
abstract VertexData |
getDefaultVertexDataObject() |
abstract java.lang.String |
getProcessedSolution() |
abstract int |
getScore()
Return the current score of the active game.
|
abstract PuzzleInstance |
getTryItInstanceForUseOnPlayScreen()
What kind of puzzle should the TryIt button produce? Return null if Try it is not applicable
|
abstract boolean |
isCurrentStateValidSolution()
Each instance needs to determine when the solution is valid.
|
abstract boolean |
isEventForThisPuzzleType(Event<?> e)
Return true iff this event is of type T.
|
abstract boolean |
isSolutionRefinable()
For optimization problems, for instance, this will return true.
|
abstract boolean |
tryItResultsAreBinding() |
abstract java.lang.String |
uniqueIdentifier(Vertex v)
Return a string that represents the data related to the given Vertex in a way that is different if the data is
different.
|
abstract void |
updateValidityBasedOnAlgorithmResult(boolean algorithmResult) |
abstract boolean |
usesAlgorithms()
If the game related to this problem requires running algorithms, this should return true.
|
public abstract boolean isCurrentStateValidSolution()
public abstract boolean usesAlgorithms()
public abstract void updateValidityBasedOnAlgorithmResult(boolean algorithmResult)
public abstract boolean isSolutionRefinable()
public abstract PuzzleInstance getTryItInstanceForUseOnPlayScreen()
public abstract boolean tryItResultsAreBinding()
public abstract boolean isEventForThisPuzzleType(Event<?> e)
e
- public abstract PuzzleInstance copyPuzzle()
public abstract int getScore()
public abstract java.lang.String getProcessedSolution()
public abstract VertexData getDefaultVertexDataObject()
public abstract java.lang.String uniqueIdentifier(Vertex v)