00001 #ifndef MMANN_FCENUMS_H 00002 #define MMANN_FCENUMS_H 00003 00011 00013 enum FCSMoveTypes 00014 { 00015 FCS_MOVE_TYPE_STACK_TO_STACK, 00016 FCS_MOVE_TYPE_STACK_TO_FREECELL, 00017 FCS_MOVE_TYPE_FREECELL_TO_STACK, 00018 FCS_MOVE_TYPE_FREECELL_TO_FREECELL, 00019 FCS_MOVE_TYPE_STACK_TO_FOUNDATION, 00020 FCS_MOVE_TYPE_FREECELL_TO_FOUNDATION, 00021 FCS_MOVE_TYPE_FLIP_CARD, 00022 FCS_MOVE_TYPE_DEAL_GYPSY_TALON, 00023 FCS_MOVE_TYPE_KLONDIKE_TALON_TO_STACK, 00024 FCS_MOVE_TYPE_KLONDIKE_TALON_TO_FOUNDATION, 00025 FCS_MOVE_TYPE_KLONDIKE_FLIP_TALON, 00026 FCS_MOVE_TYPE_KLONDIKE_REDEAL_TALON, 00027 FCS_MOVE_TYPE_SEQ_TO_FOUNDATION, 00028 FCS_MOVE_TYPE_CANONIZE, 00029 FCS_MOVE_TYPE_SEPARATOR, 00030 FCS_MOVE_TYPE_NULL, 00031 }; 00032 00034 enum FCEmptyStacksFillType {FCS_ES_FILLED_BY_ANY_CARD, 00035 FCS_ES_FILLED_BY_KINGS_ONLY, 00036 FCS_ES_FILLED_BY_NONE}; 00037 00039 enum FCSolvingMethodType {FCS_METHOD_NONE = -1, 00040 FCS_METHOD_HARD_DFS = 0, 00041 FCS_METHOD_SOFT_DFS = 1, 00042 FCS_METHOD_BFS = 2, 00043 FCS_METHOD_A_STAR = 3, 00044 FCS_METHOD_OPTIMIZE = 4, 00045 FCS_METHOD_RANDOM_DFS = 5}; 00046 00048 enum FCStateType {FC_DEBUG_STATE = 1, 00049 FC_COMPACT_STATE, 00050 FC_INDIRECT_STATE, 00051 FC_TALON_DEBUG_STATE, 00052 FC_TALON_COMPACT_STATE, 00053 FC_TALON_INDIRECT_STATE}; 00054 00056 enum FCSTalonType {FCS_TALON_NONE, 00057 FCS_TALON_GYPSY, 00058 FCS_TALON_KLONDIKE}; 00059 00061 enum BuildSequenceByEnum{FCS_SEQ_BUILT_BY_SUIT = 1, 00062 FCS_SEQ_BUILT_BY_ALTERNATE_COLOR, 00063 FCS_SEQ_BUILT_BY_RANK}; 00064 00066 enum FCStorageType {FC_AVL_TREE = 1, 00067 FC_AVL_RED_BLACK_TREE, 00068 FC_RED_BLACK_TREE, 00069 FC_GLIB_TREE, 00070 FC_GLIB_HASH, 00071 FC_INTERNAL_HASH, 00072 FC_INDIRECT_HASH}; 00073 00075 enum FCSStateSolvingReturnCodes 00076 { 00077 FCS_STATE_WAS_SOLVED, 00078 FCS_STATE_IS_NOT_SOLVEABLE, 00079 FCS_STATE_ALREADY_EXISTS, 00080 FCS_STATE_EXCEEDS_MAX_NUM_TIMES, 00081 FCS_STATE_BEGIN_SUSPEND_PROCESS, 00082 FCS_STATE_SUSPEND_PROCESS, 00083 FCS_STATE_EXCEEDS_MAX_DEPTH, 00084 FCS_STATE_ORIGINAL_STATE_IS_NOT_SOLVEABLE, 00085 FCS_STATE_INVALID_STATE, 00086 FCS_STATE_NOT_BEGAN_YET, 00087 FCS_STATE_DOES_NOT_EXIST, 00088 FCS_STATE_OPTIMIZED, 00089 }; 00090 00092 enum FCSVisitEnum 00093 { 00094 FCS_VISITED_NOT_VISITED = 0x0, 00095 FCS_VISITED_VISITED = 0x1, 00096 FCS_VISITED_IN_SOLUTION_PATH = 0x2, 00097 FCS_VISITED_IN_OPTIMIZED_PATH = 0x4, 00098 }; 00099 00100 #endif