All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Functions
osl::move_generator::piece_on_board Namespace Reference

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)
 

Function Documentation

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.

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().

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

Definition at line 83 of file pieceOnBoard.tcc.

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

Definition at line 89 of file pieceOnBoard.tcc.

References osl::CheckPromoteType, generateLong(), and osl::NoPromoteType.

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 *  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().

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   
)

Definition at line 120 of file pieceOnBoard.tcc.

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   
)