11 const size_t first = out.
size();
19 const size_t last = out.
size();
20 for (
size_t i=first; i<last; ++i)
22 if(out[i].hasIgnoredUnpromote())
39 namespace move_generator
41 template class Escape<move_action::Store>;
void push_back(const T &e)
const Piece kingPiece() const
static void generateKingEscape(const NumEffectState &state, Action &action)
static void generateBlocking(const NumEffectState &state, Piece p, Square to, Square from, Action &action)
Square toにある玉以外の駒pにfromにある駒から王手がかかってい る時に,長い利きの途中に入る手を 生成する(合駒,駒移動). breakThreatmateから直接呼ばれる.
static void generate(const NumEffectState &state, Piece piece, Action &action)
attacker からの利きを逃れる.
static void generateMoves(const NumEffectState &state, Piece piece, Piece attacker, Action &action)
attacker からの利きを逃れる.
static void generateBlockingKing(const NumEffectState &state, Piece p, Square from, Action &action)
玉pにfromにある駒から王手がかかってい る時に,長い利きの途中に入る手を 生成する(合駒,駒移動). breakThreatmateから直接呼ばれる.
Ptype unpromote(Ptype ptype)
ptypeがpromote後の型の時に,promote前の型を返す. promoteしていない型の時はそのまま返す
static void generate(const NumEffectState &state, MoveVector &out)
不成の受けも作成
static void generateCheap(const NumEffectState &state, MoveVector &out)
static void generate(const NumEffectState &state, Piece piece, Action &a)
static void generateCheapKingEscape(const NumEffectState &state, FixedCapacityVector< Move, Capacity > &out)