利きのないまたは守りのあるところへ動くためのフィルタ [詳細]
#include <escapeFilter.h>
Public メソッド | |
EscapeFilter (const NumEffectState &s, OrigAction &action, Position pos, Ptype ptype) | |
void | simpleMove (Position from, Position to, Ptype ptype, bool isPromote, Player, Move m) |
void | unknownMove (Position from, Position to, Piece p1, Ptype ptype, bool isPromote, Player, Move m) |
void | dropMove (Position to, Ptype ptype, Player, Move) |
Private メソッド | |
BOOST_CLASS_REQUIRE (OrigAction, osl::move_action, Concept) | |
Piece | findThreat (Position to) const |
template<bool IsSimple> | |
bool | suitable (Position to) const |
Private 変数 | |
const NumEffectState & | state |
OrigAction & | action |
PieceMask | attack_pin |
PieceMask | defense_pin |
Piece | removed |
Ptype | attacking |
int | value |
int | my_value |
bool | has_long |
bool | has_long_support |
利きのないまたは守りのあるところへ動くためのフィルタ
escapeFilter.h の 18 行で定義されています。
osl::move_action::EscapeFilter< P, OrigAction >::EscapeFilter | ( | const NumEffectState & | s, | |
OrigAction & | action, | |||
Position | pos, | |||
Ptype | ptype | |||
) | [inline] |
escapeFilter.h の 78 行で定義されています。
参照先 osl::alt(), osl::move_action::EscapeFilter< P, OrigAction >::attacking, osl::Piece::isPiece(), osl::move_action::EscapeFilter< P, OrigAction >::my_value, osl::newPtypeO(), osl::Piece::owner(), osl::PAWN, osl::Piece::ptype(), osl::PTYPE_EMPTY, osl::eval::Ptype_Eval_Table, osl::move_action::EscapeFilter< P, OrigAction >::removed, osl::move_action::EscapeFilter< P, OrigAction >::state, osl::move_action::EscapeFilter< P, OrigAction >::value, と osl::WHITE.
osl::move_action::EscapeFilter< P, OrigAction >::BOOST_CLASS_REQUIRE | ( | OrigAction | , | |
osl::move_action | , | |||
Concept | ||||
) | [private] |
void osl::move_action::EscapeFilter< P, OrigAction >::dropMove | ( | Position | to, | |
Ptype | ptype, | |||
Player | , | |||
Move | ||||
) | [inline] |
escapeFilter.h の 103 行で定義されています。
Piece osl::move_action::EscapeFilter< P, OrigAction >::findThreat | ( | Position | to | ) | const [inline, private] |
escapeFilter.h の 29 行で定義されています。
参照先 osl::alt(), osl::BLACK, osl::Board_Table, osl::Piece::EMPTY(), osl::BoardTable::getLongDirection(), osl::move_action::EscapeFilter< P, OrigAction >::has_long, osl::Piece::isEmpty(), osl::Piece::isEmptyNum(), osl::isLong(), osl::longToShort(), osl::Piece::number(), osl::Piece::owner(), osl::Piece::position(), osl::move_action::EscapeFilter< P, OrigAction >::removed, と osl::move_action::EscapeFilter< P, OrigAction >::state.
参照元 osl::move_action::EscapeFilter< P, OrigAction >::suitable().
void osl::move_action::EscapeFilter< P, OrigAction >::simpleMove | ( | Position | from, | |
Position | to, | |||
Ptype | ptype, | |||
bool | isPromote, | |||
Player | , | |||
Move | m | |||
) | [inline] |
escapeFilter.h の 95 行で定義されています。
参照先 osl::move_action::EscapeFilter< P, OrigAction >::action.
bool osl::move_action::EscapeFilter< P, OrigAction >::suitable | ( | Position | to | ) | const [inline, private] |
escapeFilter.h の 48 行で定義されています。
参照先 osl::alt(), osl::move_action::EscapeFilter< P, OrigAction >::attack_pin, osl::BLACK, osl::Board_Table, osl::ntesuki::capture(), osl::move_action::EscapeFilter< P, OrigAction >::defense_pin, osl::move_action::EscapeFilter< P, OrigAction >::findThreat(), osl::BoardTable::getLongDirection(), osl::move_action::EscapeFilter< P, OrigAction >::has_long_support, osl::Piece::isEmpty(), osl::Piece::isEmptyNum(), osl::isLong(), osl::longToShort(), osl::move_action::EscapeFilter< P, OrigAction >::my_value, osl::newPtypeO(), osl::Piece::number(), osl::Piece::position(), osl::Piece::ptype(), osl::PTYPE_EMPTY, osl::eval::Ptype_Eval_Table, osl::move_action::EscapeFilter< P, OrigAction >::removed, osl::move_action::EscapeFilter< P, OrigAction >::state, osl::move_action::EscapeFilter< P, OrigAction >::value, と osl::WHITE.
void osl::move_action::EscapeFilter< P, OrigAction >::unknownMove | ( | Position | from, | |
Position | to, | |||
Piece | p1, | |||
Ptype | ptype, | |||
bool | isPromote, | |||
Player | , | |||
Move | m | |||
) | [inline] |
escapeFilter.h の 99 行で定義されています。
参照先 osl::move_action::EscapeFilter< P, OrigAction >::action.
OrigAction& osl::move_action::EscapeFilter< P, OrigAction >::action [private] |
PieceMask osl::move_action::EscapeFilter< P, OrigAction >::attack_pin [private] |
escapeFilter.h の 23 行で定義されています。
参照元 osl::move_action::EscapeFilter< P, OrigAction >::suitable().
Ptype osl::move_action::EscapeFilter< P, OrigAction >::attacking [private] |
escapeFilter.h の 25 行で定義されています。
参照元 osl::move_action::EscapeFilter< P, OrigAction >::EscapeFilter().
PieceMask osl::move_action::EscapeFilter< P, OrigAction >::defense_pin [private] |
escapeFilter.h の 23 行で定義されています。
参照元 osl::move_action::EscapeFilter< P, OrigAction >::suitable().
bool osl::move_action::EscapeFilter< P, OrigAction >::has_long [private] |
escapeFilter.h の 27 行で定義されています。
参照元 osl::move_action::EscapeFilter< P, OrigAction >::findThreat().
bool osl::move_action::EscapeFilter< P, OrigAction >::has_long_support [private] |
escapeFilter.h の 27 行で定義されています。
参照元 osl::move_action::EscapeFilter< P, OrigAction >::suitable().
int osl::move_action::EscapeFilter< P, OrigAction >::my_value [private] |
Piece osl::move_action::EscapeFilter< P, OrigAction >::removed [private] |
const NumEffectState& osl::move_action::EscapeFilter< P, OrigAction >::state [private] |
int osl::move_action::EscapeFilter< P, OrigAction >::value [private] |