関数 | |
| template<Player P, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture> | |
| void | generateLong (NumEffectState const &state, Piece p, const Piece *ptr, Position 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. | |
| template<Player P, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture> | |
| void | generateLong (NumEffectState const &, Piece, const Piece *, Position, 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, Position pos, Action &action, Move moveBase, Ptype ptype) |
| template<Player P, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture> | |
| void | generateShort (const Piece *ptr, Position from, Action &action, Int2Type< true >, Move moveBase, Ptype ptype) |
| 短い利きの動き CanPromoteType - promote可能な動きの時 MustPromoteType - 2段目の歩,3,4段目の桂馬 | |
| template<Player P, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture> | |
| void | generateShort (const Piece *, Position, Action &, Int2Type< false >, Move, Ptype) |
| template<Player P, Ptype T, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture> | |
| void | generateShort (const Piece *ptr, Position 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, Position from, int dirMask) |
| template<Player P, Direction Dir, class Action , bool notPromoteCapture> | |
| void | generateKingDir (const Piece *ptr, Position 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, Position pos, int dirMask) |
| template<Player P, class Action , bool useDirMask, bool notPromoteCapture> | |
| void | generateLance (const NumEffectState &state, Piece p, Action &action, Position from, int dirMask) |
| template<Player P, class Action , bool useDirMask, bool notPromoteCapture> | |
| void | generatePawn (const NumEffectState &state, Piece p, Action &action, Position from, int dirMask) |
| void osl::move_generator::piece_on_board::generateKing | ( | const NumEffectState & | state, | |
| Action & | action, | |||
| Position | pos, | |||
| int | dirMask | |||
| ) | [inline] |
pieceOnBoard.tcc の 188 行で定義されています。
参照先 osl::KING, osl::L, osl::U, osl::UL, と osl::UR.
参照元 osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePtypeUnsafe().
| void osl::move_generator::piece_on_board::generateKingDir | ( | const Piece * | ptr, | |
| Position | from, | |||
| Action & | action, | |||
| unsigned int | liberty, | |||
| Move const & | moveBase | |||
| ) | [inline] |
pieceOnBoard.tcc の 172 行で定義されています。
参照先 osl::Piece::canMoveOn(), osl::Piece::isEmpty(), osl::KING, osl::Move::newAddCapture(), と osl::Move::newAddTo().
| void osl::move_generator::piece_on_board::generateLance | ( | const NumEffectState & | state, | |
| Piece | p, | |||
| Action & | action, | |||
| Position | from, | |||
| int | dirMask | |||
| ) | [inline] |
pieceOnBoard.tcc の 214 行で定義されています。
参照先 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, と osl::Position::y().
参照元 osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePtypeUnsafe().
| void osl::move_generator::piece_on_board::generateLong | ( | NumEffectState const & | state, | |
| Piece | p, | |||
| const Piece * | ptr, | |||
| Position | pos, | |||
| Action & | action, | |||
| Move | moveBase, | |||
| Ptype | ptype | |||
| ) | [inline] |
pieceOnBoard.tcc の 89 行で定義されています。
参照先 osl::CheckPromoteType, generateLong(), と osl::NoPromoteType.
| void osl::move_generator::piece_on_board::generateLong | ( | NumEffectState const & | , | |
| Piece | , | |||
| const Piece * | , | |||
| Position | , | |||
| Action & | , | |||
| Int2Type< false > | , | |||
| Move | , | |||
| Ptype | ||||
| ) | [inline] |
pieceOnBoard.tcc の 83 行で定義されています。
| void osl::move_generator::piece_on_board::generateLong | ( | NumEffectState const & | state, | |
| Piece | p, | |||
| const Piece * | ptr, | |||
| Position | from, | |||
| Action & | action, | |||
| Int2Type< true > | , | |||
| Move | moveBase, | |||
| Ptype | ptype | |||
| ) | [inline] |
ROOK, BISHOP, PROOK, PBISHOPのlong方向の手生成 CanPはNoPromoteかCanPromote, CheckPromoteのみ NoPromoteはpromoteできない点からの後ろ,横のdirection CanPromoteはpromoteできる点から CheckPromoteはpromoteできない点からの前向き direction.
pieceOnBoard.tcc の 24 行で定義されています。
参照先 osl::BLACK, osl::Piece::canMoveOn(), osl::Position::canPromote(), osl::CanPromoteType, osl::CheckPromoteType, osl::Piece::intValue(), osl::Offset::intValue(), osl::inverse(), osl::LANCE, limit, osl::longToShort(), osl::Move::newAddCapture(), osl::Move::newAddTo(), osl::Piece::number(), osl::Move::promote(), osl::promote(), osl::Position::y1(), と osl::Offset::zero().
参照元 generateLong().
| void osl::move_generator::piece_on_board::generatePawn | ( | const NumEffectState & | state, | |
| Piece | p, | |||
| Action & | action, | |||
| Position | from, | |||
| int | dirMask | |||
| ) | [inline] |
pieceOnBoard.tcc の 291 行で定義されています。
参照先 osl::BLACK, osl::Piece::canMoveOn(), osl::Piece::isEmpty(), osl::Move::newAddCapture(), osl::PAWN, osl::Piece::position(), osl::PPAWN, osl::PTYPE_EMPTY, osl::U, osl::Position::yGe(), と osl::Position::yLe().
参照元 osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePtypeUnsafe().
| void osl::move_generator::piece_on_board::generatePtypePromote | ( | const NumEffectState & | state, | |
| Piece | p, | |||
| Action & | action, | |||
| Position | from, | |||
| int | dirMask | |||
| ) | [inline] |
| void osl::move_generator::piece_on_board::generateShort | ( | const Piece * | ptr, | |
| Position | from, | |||
| Action & | action, | |||
| Move | moveBase, | |||
| Ptype | ||||
| ) | [inline] |
pieceOnBoard.tcc の 126 行で定義されています。
参照先 osl::CanPromoteType, osl::CheckPromoteType, generateShort(), と osl::NoPromoteType.
| void osl::move_generator::piece_on_board::generateShort | ( | const Piece * | , | |
| Position | , | |||
| Action & | , | |||
| Int2Type< false > | , | |||
| Move | , | |||
| Ptype | ||||
| ) | [inline] |
pieceOnBoard.tcc の 120 行で定義されています。
| void osl::move_generator::piece_on_board::generateShort | ( | const Piece * | ptr, | |
| Position | from, | |||
| Action & | action, | |||
| Int2Type< true > | , | |||
| Move | moveBase, | |||
| Ptype | ptype | |||
| ) | [inline] |
短い利きの動き CanPromoteType - promote可能な動きの時 MustPromoteType - 2段目の歩,3,4段目の桂馬
pieceOnBoard.tcc の 104 行で定義されています。
参照先 osl::Piece::canMoveOn(), osl::CanPromoteType, osl::Offset::intValue(), osl::Piece::isEmpty(), osl::MustPromoteType, osl::Move::newAddCapture(), osl::Move::newAddTo(), osl::Move::promote(), と osl::promote().
参照元 generateShort().
1.6.3