関数

ネームスペース osl::move_generator::piece_on_board

関数

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.
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段目の桂馬
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)

関数

template<Player P, class Action , bool useDirMask, bool notPromoteCapture>
void osl::move_generator::piece_on_board::generateKing ( const NumEffectState &  state,
Action &  action,
Square  pos,
int  dirMask 
) [inline]
template<Player P, Direction Dir, class Action , bool notPromoteCapture>
void osl::move_generator::piece_on_board::generateKingDir ( const Piece *  ptr,
Square  from,
Action &  action,
unsigned int  liberty,
Move const &  moveBase 
) [inline]
template<Player P, class Action , bool useDirMask, bool notPromoteCapture>
void osl::move_generator::piece_on_board::generateLance ( const NumEffectState &  state,
Piece  p,
Action &  action,
Square  from,
int  dirMask 
) [inline]
template<Player P, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture>
void osl::move_generator::piece_on_board::generateLong ( NumEffectState const &  state,
Piece  p,
const Piece *  ptr,
Square  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.tcc22 行で定義されています。

参照先 osl::BLACK, osl::Piece::canMoveOn(), osl::Square::canPromote(), osl::move_generator::CanPromoteType, osl::move_generator::CheckPromoteType, osl::SimpleState::getPiecePtr(), osl::Piece::intValue(), osl::Offset::intValue(), osl::inverse(), osl::LANCE, osl::longToShort(), osl::NumEffectState::mobilityOf(), osl::Move::newAddCapture(), osl::Move::newAddTo(), osl::Piece::number(), osl::Move::promote(), osl::promote(), osl::Square::y1(), と osl::Offset::zero().

参照元 generateLong().

template<Player P, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture>
void osl::move_generator::piece_on_board::generateLong ( NumEffectState const &  ,
Piece  ,
const Piece *  ,
Square  ,
Action &  ,
Int2Type< false >  ,
Move  ,
Ptype   
) [inline]

pieceOnBoard.tcc81 行で定義されています。

template<Player P, Ptype T, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture>
void osl::move_generator::piece_on_board::generateLong ( NumEffectState const &  state,
Piece  p,
const Piece *  ptr,
Square  pos,
Action &  action,
Move  moveBase,
Ptype  ptype 
) [inline]

pieceOnBoard.tcc87 行で定義されています。

参照先 osl::move_generator::CheckPromoteType, と generateLong().

template<Player P, class Action , bool useDirMask, bool notPromoteCapture>
void osl::move_generator::piece_on_board::generatePawn ( const NumEffectState &  state,
Piece  p,
Action &  action,
Square  from,
int  dirMask 
) [inline]
template<Player P, Ptype T, class Action , PromoteType CanP, bool useDirMask, bool notPromoteCapture>
void osl::move_generator::piece_on_board::generatePtypePromote ( const NumEffectState &  state,
Piece  p,
Action &  action,
Square  from,
int  dirMask 
) [inline]
template<Player P, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture>
void osl::move_generator::piece_on_board::generateShort ( const Piece *  ,
Square  ,
Action &  ,
Int2Type< false >  ,
Move  ,
Ptype   
)

pieceOnBoard.tcc118 行で定義されています。

template<Player P, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture>
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段目の桂馬

pieceOnBoard.tcc102 行で定義されています。

参照先 osl::Piece::canMoveOn(), osl::move_generator::CanPromoteType, osl::Offset::intValue(), osl::Piece::isEmpty(), osl::move_generator::MustPromoteType, osl::Move::newAddCapture(), osl::Move::newAddTo(), osl::Move::promote(), と osl::promote().

参照元 generateShort().

template<Player P, Ptype T, class Action , PromoteType CanP, Direction Dir, bool notPromoteCapture>
void osl::move_generator::piece_on_board::generateShort ( const Piece *  ptr,
Square  from,
Action &  action,
Move  moveBase,
Ptype   
)
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義