#include <FCSOptimizeSolvingAlgorithm.h>
Inheritance diagram for FCSOptimizeSolvingAlgorithm< SolvingAlgorithmType >:
Public Member Functions | |
FCSOptimizeSolvingAlgorithm (SolvingAlgorithmType *SolvingAlgorithm) | |
Constructor with current solving algorithm. | |
virtual | ~FCSOptimizeSolvingAlgorithm () |
Destructor. | |
virtual FCSStateSolvingReturnCodes | Solve (FCSStateWithLocations *StateWithLocations, int Depth) |
Solve the game. | |
virtual FCSStateSolvingReturnCodes | Resume (int Depth) |
Resume solving a game. | |
Protected Member Functions | |
virtual bool | CheckStateEnd (FCSStateWithLocations **NewStateWithLocations, FCSStateWithLocations *StateWithLocations, FCSDerivedStatesList **DerivedStateList, FCSMoveStack **Move, FCSMove **TempMove, int depth, FCSStateSolvingReturnCodes *ReturnCode) |
Put the last move onto the move stack for the current state. | |
Protected Attributes | |
int | m_SavedNumberOfStatePacks |
Number of state packs in first solving algorithm. | |
AFCSStateWithLocationsMatrix ** | m_SavedStatePacks |
Pointer to the state packs of the first solving algorithm. |
Definition at line 18 of file FCSOptimizeSolvingAlgorithm.h.
|
The original solving method will delete most of data, we just need to worry about the solution data we create Definition at line 118 of file FCSOptimizeSolvingAlgorithm.h. References FCSOptimizeSolvingAlgorithm< SolvingAlgorithmType >::m_SavedNumberOfStatePacks. |
|
Definition at line 127 of file FCSOptimizeSolvingAlgorithm.h. References CreateMoveStack(), FCSStateWithLocations::m_Depth, FCSStateWithLocations::m_MovesToParent, and FCSStateWithLocations::m_Parent. |
|
Since the solution has already been acheived, this shouldn't be necessary, so it will just return FCS_STATE_IS_NOT_SOLVEABLE
Reimplemented from FCSBFSSolvingAlgorithm< SolvingAlgorithmType >. Definition at line 192 of file FCSOptimizeSolvingAlgorithm.h. |
|
Reimplemented from FCSBFSSolvingAlgorithm< SolvingAlgorithmType >. Definition at line 198 of file FCSOptimizeSolvingAlgorithm.h. References FCSBFSSolvingAlgorithm< SolvingAlgorithmType >::BFSEnqueueState(), FCSStateWithLocations::GetFreecellCardNumber(), FCSStateWithLocations::GetStackLength(), FCSBFSSolvingAlgorithm< SolvingAlgorithmType >::m_BFSQueue, FCSBFSSolvingAlgorithm< SolvingAlgorithmType >::m_BFSQueueLastItem, FCSStateWithLocations::m_Depth, FCSBFSSolvingAlgorithm< SolvingAlgorithmType >::m_FirstStateToCheck, FCSStateWithLocations::m_MovesToParent, FCSStateWithLocationsLinkedList::m_Next, FCSDerivedStatesList::m_NumberOfStates, FCSStateWithLocations::m_Parent, FCSStateWithLocationsLinkedList::m_State, FCSDerivedStatesList::m_States, FCSStateWithLocations::m_Visited, and FCSStateWithLocations::m_VisitIterations. Referenced by MainOptimize(). |