00001
00002
00003 #ifndef OSL_MOVE_CLASSIFIER_TRAPROOK_H
00004 #define OSL_MOVE_CLASSIFIER_TRAPROOK_H
00005
00006 #include "osl/state/numEffectState.h"
00007 namespace osl
00008 {
00009 namespace move_classifier
00010 {
00014 template <Player P>
00015 struct TrapRook
00016 {
00017 static bool isMember(const NumEffectState& state,
00018 Ptype ptype,Position from,Position to);
00019 private:
00020 template <Direction Dir>
00021 static bool testDirection(const NumEffectState& state, Position initial);
00022 };
00023 }
00024 }
00025
00026
00027 #endif
00028
00029
00030
00031