詰めろを考慮した詰将棋探索のための状態管理. [詳細]
#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) |
bool | isUnknown () const |
bool | isThreatmate () const |
bool | maybeThreatmate () const |
bool | mayHaveCheckmate () const |
Status | status () const |
const ThreatmateState | newStatus (bool is_check) const |
void | update (const ThreatmateState *parent, bool in_check) |
Static Private 変数 | |
static const CArray< Status, 5 *2 > | transition |
フレンド | |
class | DualThreatmateState |
詰めろを考慮した詰将棋探索のための状態管理.
http://www31.ocn.ne.jp/~kfend/inside_kfend/ptc.html#c3
threatmateState.h の 29 行で定義されています。
threatmateState.h の 33 行で定義されています。
osl::search::ThreatmateState::ThreatmateState | ( | Status | s = UNKNOWN |
) | [inline] |
threatmateState.h の 47 行で定義されています。
bool osl::search::ThreatmateState::isThreatmate | ( | ) | const [inline] |
bool osl::search::ThreatmateState::isUnknown | ( | ) | const [inline] |
threatmateState.h の 54 行で定義されています。
参照先 osl::search::ThreatmateStateData::current_status, と UNKNOWN.
bool osl::search::ThreatmateState::maybeThreatmate | ( | ) | const [inline] |
bool osl::search::ThreatmateState::mayHaveCheckmate | ( | ) | const [inline] |
const ThreatmateState osl::search::ThreatmateState::newStatus | ( | bool | is_check | ) | const [inline] |
threatmateState.h の 70 行で定義されています。
参照先 osl::search::ThreatmateStateData::current_status, と transition.
参照元 update().
void osl::search::ThreatmateState::setThreatmate | ( | Status | s | ) | [inline] |
Status osl::search::ThreatmateState::status | ( | ) | const [inline] |
void osl::search::ThreatmateState::update | ( | const ThreatmateState * | parent, | |
bool | in_check | |||
) | [inline] |
threatmateState.h の 75 行で定義されています。
参照先 maybeThreatmate(), と newStatus().
friend class DualThreatmateState [friend] |
threatmateState.h の 31 行で定義されています。
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 の 45 行で定義されています。
参照元 newStatus().