00001 #ifndef FCS_DEBUG_MOVE_H 00002 #define FCS_DEBUG_MOVE_H 00003 00011 00012 #include "FCSMove.h" 00013 00017 class FCSDebugMove : public FCSMove 00018 { 00019 public: 00021 FCSDebugMove(); 00022 00024 virtual ~FCSDebugMove(); 00025 00029 virtual void Copy(FCSMove* Move); 00030 00034 unsigned char GetSourceStack(); 00035 00039 unsigned char GetSourceFreecell(); 00040 00044 unsigned char GetDestStack(); 00045 00049 unsigned char GetDestFreecell(); 00050 00054 unsigned char GetFoundation(); 00055 00059 FCSMoveTypes GetType(); 00060 00064 unsigned char GetNumberOfCardsInSequence(); 00065 00069 unsigned char GetNumberOfCardsFlipped(); 00070 00074 void SetSourceStack(unsigned char StackNumber); 00075 00079 void SetSourceFreecell(unsigned char FreecellNumber); 00080 00084 void SetDestStack(unsigned char StackNumber); 00085 00089 void SetDestFreecell(unsigned char FreecellNumber); 00090 00094 void SetFoundation(unsigned char FoundationNumber); 00095 00099 void SetType(FCSMoveTypes MoveType); 00100 00104 void SetNumberOfCardsInSequence(unsigned char NumberOfCardsInSequence); 00105 00109 void SetNumberOfCardsFlipped(unsigned char NumberOfCardsFlipped); 00110 00111 private: 00113 unsigned char m_Foundation; 00114 00116 unsigned char m_NumberOfCardsInSequence; 00117 00119 unsigned char m_NumberOfCardsFlipped; 00120 00122 unsigned char m_SourceFreecell; 00123 00125 unsigned char m_DestinationFreecell; 00126 00128 unsigned char m_SourceStack; 00129 00131 unsigned char m_DestinationStack; 00132 00134 FCSMoveTypes m_Type; 00135 }; 00136 00140 class FCSDebugMoveStack : public FCSMoveStack 00141 { 00142 public: 00144 FCSDebugMoveStack(); 00145 00147 virtual ~FCSDebugMoveStack(); 00148 00152 FCSMoveStack* Copy(); 00153 00157 void Push(FCSMove* Move); 00158 00163 int Pop(FCSMove** Move); 00164 00165 protected: 00167 FCSDebugMove* m_Moves; 00168 }; 00169 00170 00171 #endif