Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members

FCSTalonSolvingAlgorithm.h

Go to the documentation of this file.
00001 #ifndef FCS_TALON_SOLVING_ALGORITHM_H
00002 #define FCS_TALON_SOLVING_ALGORITHM_H
00003 
00011 
00012 #include "FCSFreecellSolvingAlgorithm.h"
00013 
00015 class FCSTalonSolvingAlgorithm : public FCSFreecellSolvingAlgorithm
00016 {
00017 public:
00024     static FCSTalonSolvingAlgorithm* Create(FCCommandLineArguments* CommandLine);
00025 
00027     FCSTalonSolvingAlgorithm(FCCommandLineArguments* CommandLine);
00028 
00030     virtual ~FCSTalonSolvingAlgorithm();
00031 
00032 protected:
00034     FCSTalonSolvingAlgorithm();
00035 
00037     void InitFCSTalonSolvingAlgorithm();
00038 
00039 /****** Note: This is not used in code, Temporarily removing it.
00040 
00041     // The talon for Gypsy-like games. Since only the position changes from
00042     // state to state.  We can keep it here.
00043     FCSCard* m_GypsyTalon;
00044 
00045     //The length of the Gypsy talon 
00046     int m_GypsyTalonLength;
00047 **************************/
00048 
00050     FCSTalonType m_TalonType;
00051 
00053     FCInternalHash<FCSTalonStateData, void>* m_TalonsHash; 
00055     CompareFunctionCompareNodesAlgorithm<FCSTalonStateData, void> m_TalonCompareFunction;
00057     MD5TalonStateDataHashAlgorithm m_TalonHashFunction;
00058 
00062     virtual void InitSolve(FCSStateWithLocations* InitState);
00063 
00070     virtual FCSStateSolvingReturnCodes CheckAndAddState(FCSStateWithLocations* NewState,
00071                          FCSStateWithLocations** ExistingState,
00072                          int Depth);
00073 
00083     virtual FCSStateSolvingReturnCodes RunTest(int TestNumber, FCSStateWithLocations*  StateWithLocations,
00084                                                       int Depth, int NumberOfFreeStacks,
00085                                                       int NumberOfFreecells,
00086                                                       FCSDerivedStatesList* DerivedStateList);
00087 
00096     FCSStateSolvingReturnCodes GetCardFromKlondikeTalon(FCSStateWithLocations*  StateWithLocations,
00097                               int Depth,
00098                               int NumberOfFreeStacks,
00099                               int NumberOfFreecells,
00100                               FCSDerivedStatesList* DerivedStateList);
00101 };
00102 
00103 #endif

Generated on Sat Nov 5 11:20:15 2005 for Cpp Freecell Solver by  doxygen 1.4.4