00001 /* checkMoveGenerator.h 00002 */ 00003 #ifndef _CHECKMOVEGENERATOR_H 00004 #define _CHECKMOVEGENERATOR_H 00005 00006 #include "osl/state/numEffectState.h" 00007 #include <cstddef> 00008 00014 #define DELAY_INTERPOSE 00015 00022 #define PAWN_CHECKMATE_SENSITIVE 00023 00024 // /** 00025 // * @def DELAY_SACRIFICE 00026 // * ζ. 00027 // * Ĵɬ 00028 // */ 00029 // #define DELAY_SACRIFICE 00030 00031 namespace osl 00032 { 00033 namespace checkmate 00034 { 00035 class CheckMoveList; 00036 class CheckMoveListProvider; 00041 template <Player P> 00042 struct CheckMoveGenerator 00043 { 00048 static unsigned int generateEscape(const NumEffectState& state, 00049 CheckMoveListProvider& src, 00050 CheckMoveList& out, 00051 Move last_move=Move::INVALID()); 00052 00057 static void generateAttack(const NumEffectState& state, 00058 CheckMoveListProvider& src, 00059 CheckMoveList& out, 00060 Move last_move=Move::INVALID()); 00061 00062 }; 00063 } // namespace checkmate 00064 } // namespace osl 00065 00066 #endif /* _CHECKMOVEGENERATOR_H */ 00067 // ;;; Local Variables: 00068 // ;;; mode:c++ 00069 // ;;; c-basic-offset:2 00070 // ;;; End: