Functions | |
template<Player P, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture> | |
void | generateLong (NumEffectState const &state, Piece p, const Piece *ptr, Square from, Action &action, Int2Type< true >, Move moveBase, Ptype ptype) |
ROOK, BISHOP, PROOK, PBISHOPのlong方向の手生成 CanPはNoPromoteかCanPromote, CheckPromoteのみ NoPromoteはpromoteできない点からの後ろ,横のdirection CanPromoteはpromoteできる点から CheckPromoteはpromoteできない点からの前向き direction. More... | |
template<Player P, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture> | |
void | generateLong (NumEffectState const &, Piece, const Piece *, Square, Action &, Int2Type< false >, Move, Ptype) |
template<Player P, Ptype T, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture> | |
void | generateLong (NumEffectState const &state, Piece p, const Piece *ptr, Square pos, Action &action, Move moveBase, Ptype ptype) |
template<Player P, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture> | |
void | generateShort (const Piece *ptr, Square from, Action &action, Int2Type< true >, Move moveBase, Ptype ptype) |
短い利きの動き CanPromoteType - promote可能な動きの時 MustPromoteType - 2段目の歩,3,4段目の桂馬 More... | |
template<Player P, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture> | |
void | generateShort (const Piece *, Square, Action &, Int2Type< false >, Move, Ptype) |
template<Player P, Ptype T, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture> | |
void | generateShort (const Piece *ptr, Square from, Action &action, Move moveBase, Ptype) |
template<Player P, Ptype T, class Action , PromoteType CanP, bool useDirMask, bool notPromoteCapture> | |
void | generatePtypePromote (const NumEffectState &state, Piece p, Action &action, Square from, int dirMask) |
template<Player P, Direction Dir, class Action , bool notPromoteCapture> | |
void | generateKingDir (const Piece *ptr, Square from, Action &action, unsigned int liberty, Move const &moveBase) |
template<Player P, class Action , bool useDirMask, bool notPromoteCapture> | |
void | generateKing (const NumEffectState &state, Action &action, Square pos, int dirMask) |
template<Player P, class Action , bool useDirMask, bool notPromoteCapture> | |
void | generateLance (const NumEffectState &state, Piece p, Action &action, Square from, int dirMask) |
template<Player P, class Action , bool useDirMask, bool notPromoteCapture> | |
void | generatePawn (const NumEffectState &state, Piece p, Action &action, Square from, int dirMask) |
|
inline |
Definition at line 188 of file pieceOnBoard.tcc.
References osl::KING, osl::L, osl::checkmate::King8Info::liberty(), osl::U, osl::UL, and osl::UR.
Referenced by osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePtypeUnsafe().
|
inline |
Definition at line 172 of file pieceOnBoard.tcc.
References osl::Piece::canMoveOn(), osl::Piece::isEmpty(), osl::KING, osl::Move::newAddCapture(), and osl::Move::newAddTo().
|
inline |
Definition at line 214 of file pieceOnBoard.tcc.
References osl::BLACK, osl::Piece::canMoveOn(), osl::D, osl::LANCE, limit, osl::Move::newAddCapture(), osl::Move::newAddTo(), osl::Piece::number(), osl::PLANCE, osl::Move::promote(), osl::U, and osl::Square::y().
Referenced by osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePtypeUnsafe().
|
inline |
ROOK, BISHOP, PROOK, PBISHOPのlong方向の手生成 CanPはNoPromoteかCanPromote, CheckPromoteのみ NoPromoteはpromoteできない点からの後ろ,横のdirection CanPromoteはpromoteできる点から CheckPromoteはpromoteできない点からの前向き direction.
Definition at line 24 of file pieceOnBoard.tcc.
References osl::BLACK, osl::Piece::canMoveOn(), osl::Square::canPromote(), osl::CanPromoteType, osl::CheckPromoteType, count, osl::Piece::intValue(), osl::Offset::intValue(), osl::inverse(), osl::LANCE, limit, osl::longToShort(), osl::Move::newAddCapture(), osl::Move::newAddTo(), osl::Piece::number(), osl::promote(), osl::Move::promote(), osl::Square::y1(), and osl::Offset::zero().
Referenced by generateLong().
|
inline |
Definition at line 83 of file pieceOnBoard.tcc.
|
inline |
Definition at line 89 of file pieceOnBoard.tcc.
References osl::CheckPromoteType, generateLong(), and osl::NoPromoteType.
|
inline |
Definition at line 291 of file pieceOnBoard.tcc.
References osl::BLACK, osl::Piece::canMoveOn(), osl::Piece::isEmpty(), osl::Move::newAddCapture(), osl::PAWN, osl::PPAWN, osl::PTYPE_EMPTY, osl::Piece::square(), osl::U, osl::Square::yGe(), and osl::Square::yLe().
Referenced by osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePtypeUnsafe().
|
inline |
Definition at line 137 of file pieceOnBoard.tcc.
References osl::GOLD, osl::L, osl::Piece::ptype(), osl::U, osl::UL, and osl::UR.
Referenced by osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePtypeUnsafe().
void osl::move_generator::piece_on_board::generateShort | ( | const Piece * | ptr, |
Square | from, | ||
Action & | action, | ||
Int2Type< true > | , | ||
Move | moveBase, | ||
Ptype | ptype | ||
) |
短い利きの動き CanPromoteType - promote可能な動きの時 MustPromoteType - 2段目の歩,3,4段目の桂馬
Definition at line 104 of file pieceOnBoard.tcc.
References osl::Piece::canMoveOn(), osl::CanPromoteType, osl::Offset::intValue(), osl::Piece::isEmpty(), osl::MustPromoteType, osl::Move::newAddCapture(), osl::Move::newAddTo(), osl::promote(), and osl::Move::promote().
Referenced by generateShort().
void osl::move_generator::piece_on_board::generateShort | ( | const Piece * | , |
Square | , | ||
Action & | , | ||
Int2Type< false > | , | ||
Move | , | ||
Ptype | |||
) |
Definition at line 120 of file pieceOnBoard.tcc.
void osl::move_generator::piece_on_board::generateShort | ( | const Piece * | ptr, |
Square | from, | ||
Action & | action, | ||
Move | moveBase, | ||
Ptype | |||
) |
Definition at line 126 of file pieceOnBoard.tcc.
References osl::CanPromoteType, osl::CheckPromoteType, generateShort(), and osl::NoPromoteType.