3#ifndef OSL_MOVE_CLASSIFIER_DIRECTCHECK_H
4#define OSL_MOVE_CLASSIFIER_DIRECTCHECK_H
10 namespace move_classifier
20 assert(!state.template hasEffectAt<P>(state.template kingSquare<
alt(P)>()));
28 state.template kingSquare<
alt(P)>());
bool hasEffectIf(PtypeO ptypeo, Square attacker, Square target) const
attackerにptypeoの駒がいると仮定した場合にtargetに利きがあるかどうか を stateをupdateしないで確かめる.
constexpr Player alt(Player player)
PtypeO newPtypeO(Player player, Ptype ptype)
static bool isMember(const State &state, Ptype ptype, Square, Square to)
static bool isMember(const NumEffectState &state, Ptype ptype, Square to)