public class ReachItInstance extends PebbleMoveInstance
Constructor and Description |
---|
ReachItInstance() |
Modifier and Type | Method and Description |
---|---|
ReachItInstance |
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.
|
int |
getScore()
Return the current score of the active game.
|
Vertex |
getTargetVertex() |
PuzzleInstance |
getTryItInstanceForUseOnPlayScreen()
What kind of puzzle should the TryIt button produce? Return null if Try it is not applicable
|
boolean |
isCurrentStateValidSolution()
Each instance needs to determine when the solution is valid.
|
boolean |
isSolutionRefinable()
For optimization problems, for instance, this will return true.
|
boolean |
isValidSource(Vertex v)
This is used to determine if a vertex is valid in whatever game mode is implemented.
|
void |
setSolutionInformation(Solution solution)
This method sets the solution data, such as the time taken by the user, and the previous score set by the user
during their last play through.
|
void |
setTargetVertex(Vertex targetVertex) |
void |
update(java.util.Observable o,
java.lang.Object arg) |
void |
updateCovered() |
void |
updateStateBasedOnAlgorithmResult(java.lang.String algorithmResult)
Updates the algorithm's state based on the algorithm result.
|
boolean |
usesAlgorithms()
If the game related to this problem requires running algorithms, this should return true.
|
addDoubleExtensionVertices, addExtensionVertices, addPebbles, addToNumberOfPebblingMoves, areAllCovered, areCovered, clearPebbles, clearPebbles, copyPuzzleSoItHasInitialStateTheSameAsMyCurrentState, coveredVerticesWithNoPebblesToString, efficientMovePebble, efficientUndoPebbleMove, getDefaultVertexDataObject, getNumberCoveredVertices, getNumberOfPebblingMoves, getNumberPebbles, getNumPebbles, getProcessedSolution, getState, isCovered, isEventForThisPuzzleType, isSolvable, isUncertain, isUnsolvable, movePebble, movePebbles, pebblesToString, recycle, removePebbles, setCovered, setCovered, setNumberOfPebblingMoves, setNumPebbles, setPebbles, setPebbles, setState, setUncovered, tryItResultsAreBinding, undoPebbleMove, undoPebbleMoves, undoRecycle, uniqueIdentifier
addDoppelganger, addGraph, addGraphWithData, addToSelected, addToSelected, addVertex, canRedo, canUndo, checkAndHandlePuzzleCompletion, clearAllSelections, clearHistory, clearTutorial, computeGlobalPoints, connectAllSelectedVertices, connectToSelected, convertMovesToTutorial, copyRequested, copySelected, createNewVertexForPuzzle, currentPuzzleDataToString, deleteSelected, disableHistory, disconnectFromSelected, disconnectSelected, doNotRecordGraphEvents, enableHistory, endGame, forceRedo, getAttemptName, getBasePoints, getCurrentAnnotation, getCurrentMoveOverview, getCurrentUndoableEvent, getData, getDescription, getDiameter, getDifficultyLevel, getEdgeDataClassName, getEditHelpClassName, getEditorClassName, getFamilyName, getFirstSelected, getFirstTimeBonus, getGameName, getGlobalBest, getGraph, getHelpClassName, getHighScoreBonus, getImprovementBonus, getInstanceClassName, getInterestingTutorialVertices, getMaximumXCoordinate, getMaximumYCoordinate, getMessage, getMinimumSelectedXCoordinate, getMinimumSelectedYCoordinate, getMinimumXCoordinate, getMinimumYCoordinate, getMode, getNumberOfEdges, getNumberOfMoves, getNumberOfVertices, getNumberSelected, getOldHighScore, getPersonalBest, getPlayClassName, getPuzzleID, getPuzzleInstanceName, getPuzzleName, getSelectedVertices, getSolution, getSolutionAsString, getSolutionID, getThemeClassName, getTimeTaken, getTopOfUndoStack, getTutorialData, getUserID, getVertexIndex, getVertices, getVisibility, getVisibleSources, goToNextEvent, grossHistoryDeleteLastEvent, grossHistoryGetLastAddedEvent, grossHistoryGetNextEvent, grossHistoryGetNextEventIndex, grossHistoryIsSaved, grossHistoryIteratorAtBeginning, grossHistoryIteratorAtEnd, grossHistoryNext, grossHistoryPrevious, grossHistorySetSaved, grossHistorySize, grossHistoryToBeginning, grossHistoryToEnd, initialPuzzleDataToString, isFinishable, isInReplayOrEditTutorialMode, isLocked, isLowerScoreBetter, isPlayable, isSaved, isShowIndices, isSpecialCopyOK, isTutorial, isValidToTranslationSelection, isVisibleSource, makeCurrentStateInitialState, moveGraphEnded, moveSelectedVerticesEnded, moveStarted, pasteAndConnectCopyOfSelected, pasteCopyOfSelected, performEvents, performEvents, performTutorialEvents, reallySetLocked, recordGraphEvents, redo, removeFromSelected, removeFromSelected, resetVerticesToInitialLocations, restart, runAlgorithms, runuTryIt, selectAll, sendAlgorithmResult, sendMeaninglessEvent, setAttemptName, setData, setDefaultData, setDescription, setFinishable, setGlobalBest, setGraph, setInReplayOrEditTutorialMode, setLocked, setMessage, setMode, setPersonalBest, setPlayable, setPuzzle, setPuzzleID, setPuzzleName, setSaved, setShowIndices, setSolutionData, setSolutionID, setUserID, setVisibleSources, startTimer, stopTimer, stringToPuzzleData, submit, toggleSelected, tutorialModeEnabled, undo, updateTimeTaken
public void update(java.util.Observable o, java.lang.Object arg)
update
in interface java.util.Observer
update
in class PuzzleInstance
public void updateCovered()
public boolean isValidSource(Vertex v)
PebbleInstance
isValidSource
in class PebbleInstance
public ReachItInstance copyPuzzle()
PuzzleInstance
copyPuzzle
in class PuzzleInstance
public Vertex getTargetVertex()
public void setTargetVertex(Vertex targetVertex)
public int getScore()
PuzzleInstance
getScore
in class PuzzleInstance
public boolean isSolutionRefinable()
PuzzleInstance
isSolutionRefinable
in class PuzzleInstance
public boolean usesAlgorithms()
PuzzleInstance
usesAlgorithms
in class PuzzleInstance
public boolean isCurrentStateValidSolution()
PuzzleInstance
isCurrentStateValidSolution
in class PuzzleInstance
public void updateStateBasedOnAlgorithmResult(java.lang.String algorithmResult)
PuzzleInstance
updateStateBasedOnAlgorithmResult
in class PuzzleInstance
algorithmResult
- a boolean that describes the result of the algorithm.public PuzzleInstance getTryItInstanceForUseOnPlayScreen()
PuzzleInstance
getTryItInstanceForUseOnPlayScreen
in class PuzzleInstance
public void setSolutionInformation(Solution solution)
PuzzleInstance
setSolutionInformation
in class PuzzleInstance
solution
- The database class that holds the necessary information