#include <threatmateState.h>
Public 型 | |
enum | Status { UNKNOWN = 0, THREATMATE, MAYBE_THREATMATE, CHECK_AFTER_THREATMATE, MAY_HAVE_CHECKMATE } |
Public メソッド | |
ThreatmateState (Status s=UNKNOWN) | |
void | setThreatmate (Status s) |
void | setThreatmate (Move m) |
bool | isUnknown () const |
bool | isThreatmate () const |
bool | maybeThreatmate () const |
bool | mayHaveCheckmate () const |
Status | status () const |
const Move | threatmateMove () const |
const ThreatmateState | newStatus (bool is_check) const |
void | update (const ThreatmateState *parent, bool in_check) |
Private 変数 | |
Move | threatmate_move |
char | current_status |
Static Private 変数 | |
static const CArray< Status, 5 *2 > | transition |
http://www31.ocn.ne.jp/~kfend/inside_kfend/ptc.html#c3
threatmateState.h の 21 行で定義されています。
UNKNOWN | |
THREATMATE | threatmate found by checkmate search |
MAYBE_THREATMATE | threatmate, not sure |
CHECK_AFTER_THREATMATE | status after threatmate responded by check |
MAY_HAVE_CHECKMATE | status after threatmate responded by non-check move |
threatmateState.h の 24 行で定義されています。
osl::search::ThreatmateState::ThreatmateState | ( | Status | s = UNKNOWN |
) | [inline] |
threatmateState.h の 40 行で定義されています。
void osl::search::ThreatmateState::setThreatmate | ( | Status | s | ) | [inline] |
void osl::search::ThreatmateState::setThreatmate | ( | Move | m | ) | [inline] |
bool osl::search::ThreatmateState::isUnknown | ( | ) | const [inline] |
bool osl::search::ThreatmateState::isThreatmate | ( | ) | const [inline] |
bool osl::search::ThreatmateState::maybeThreatmate | ( | ) | const [inline] |
threatmateState.h の 51 行で定義されています。
参照先 current_status, MAYBE_THREATMATE, と THREATMATE.
参照元 osl::search::DualThreatmateState::maybeThreatmate(), と update().
bool osl::search::ThreatmateState::mayHaveCheckmate | ( | ) | const [inline] |
Status osl::search::ThreatmateState::status | ( | ) | const [inline] |
threatmateState.h の 58 行で定義されています。
参照先 current_status.
参照元 osl::search::AlphaBeta2Tree::alphaBetaSearchAfterMove(), osl::search::SearchState2Core::countCheckAfterThreatmate(), osl::search::SearchState2Core::countCheckAfterThreatmateSacrifice(), osl::search::operator<<(), と osl::search::QuiescenceSearch2< EvalT >::staticValue().
const Move osl::search::ThreatmateState::threatmateMove | ( | ) | const [inline] |
threatmateState.h の 59 行で定義されています。
参照先 threatmate_move.
参照元 osl::search::operator<<(), と osl::search::DualThreatmateState::threatmateMove().
const ThreatmateState osl::search::ThreatmateState::newStatus | ( | bool | is_check | ) | const [inline] |
void osl::search::ThreatmateState::update | ( | const ThreatmateState * | parent, | |
bool | in_check | |||
) | [inline] |
char osl::search::ThreatmateState::current_status [private] |
threatmateState.h の 37 行で定義されています。
参照元 isThreatmate(), isUnknown(), maybeThreatmate(), mayHaveCheckmate(), newStatus(), setThreatmate(), と status().
const osl::CArray< osl::search::ThreatmateState::Status, 5 *2 > osl::search::ThreatmateState::transition [static, private] |
初期値:
{{ UNKNOWN, UNKNOWN, MAY_HAVE_CHECKMATE, CHECK_AFTER_THREATMATE, MAY_HAVE_CHECKMATE, CHECK_AFTER_THREATMATE, MAYBE_THREATMATE, UNKNOWN, UNKNOWN, UNKNOWN, }}
threatmateState.h の 38 行で定義されています。
参照元 newStatus().