00001 #ifndef FCS_DEBUG_DISPLAY_INFO_H 00002 #define FCS_DEBUG_DISPLAY_INFO_H 00003 00011 00012 #include <fstream.h> 00013 #include "FCEnums.h" 00014 00015 class FCSStateWithLocations; 00016 00017 //These are the debug display option flags 00018 00020 #define DEBUG_ITERATIVE_STATE_OUTPUT 1 00021 00022 #define DEBUG_IS_OUTPUT_PARSEABLE 2 00023 00024 #define DEBUG_CANONIZED_ORDER_OUTPUT 4 00025 00026 #define DEBUG_DISPLAY_10_AS_T 8 00027 00028 #define DEBUG_DISPLAY_PARENT_ITERATIONS 16 00029 00030 #define DEBUG_DISPLAY_MOVES 32 00031 00032 #define DEBUG_DISPLAY_STATES 64 00033 00034 #define DEBUG_USE_STANDARD_NOTATION 128 00035 00037 class FCSDebugDisplayInfo 00038 { 00039 public: 00041 FCSDebugDisplayInfo(); 00042 00044 virtual ~FCSDebugDisplayInfo(); 00045 00055 virtual void Display(FCStateType StateType, int NumberOfIterations, int Depth, 00056 FCSStateWithLocations* StateWithLocations, 00057 int ParentNumberOfIterations, int StoredStates); 00058 00060 bool m_DisplayDebug; 00061 00063 int m_DisplayDebugOptions; 00064 00066 int m_NumberOfFreecells; 00067 00069 int m_NumberOfStacks; 00070 00072 int m_NumberOfDecks; 00073 00075 FCSTalonType m_TalonType; 00076 00078 ofstream Write; 00079 }; 00080 00081 #endif