00001 #ifndef _GENERATE_DROP_AROUND_KING8_H 00002 #define _GENERATE_DROP_AROUND_KING8_H 00003 #include "osl/move_generator/pieceOnBoard.h" 00004 #include "osl/move_generator/pieceOnBoard.tcc" 00005 #include "osl/move_generator/drop.h" 00006 #include "osl/move_generator/drop.tcc" 00007 #include "osl/move_action/toAroundKing8Filter.h" 00008 00009 namespace osl 00010 { 00011 namespace move_generator 00012 { 00013 template <Player P> 00014 struct DropAroundKing8 00015 { 00016 00017 template <class Action> 00018 static void generate(const SimpleState& state, Action& action) 00019 { 00020 typedef move_action::ToAroundKing8Filter<P, SimpleState, Action> action_t; 00021 // 00022 action_t action_filtered(state, action); 00023 Drop<SimpleState, action_t>::template generateMoves <P>(state, action_filtered); 00024 } 00025 }; 00026 } 00027 } // namespace osl 00028 00029 #endif /* _GENERATE_DROP_AROUND_KING8_H */ 00030 // ;;; Local Variables: 00031 // ;;; mode:c++ 00032 // ;;; c-basic-offset:2 00033 // ;;; End: