#include <minorPiece.h>
Static Public メソッド | |
static MultiInt | value (int attack_index, int defense_index, int attack_index_y, int defense_index_y, int attack_index_x, int defense_index_x) |
static MultiInt | standValue (int attack_index, int defense_index, int attack_index_y, int defense_index_y, int attack_index_x, int defense_index_x) |
static MultiInt | eval (const NumEffectState &state) |
template<Player P> | |
static MultiInt | evalWithUpdate (const NumEffectState &state, Move moved, MultiInt &last_value) |
Private 型 | |
enum | { BOTH_ON_BOARD, SELF_ON_BOARD, OPP_ON_BOARD, BOTH_ON_STAND } |
Static Private メソッド | |
template<Player Owner> | |
static int | indexY (const Piece king, int x) |
static int | index (const Square king, int x) |
template<bool Attack> | |
static int | indexX (const Piece king, int x) |
Static Private 変数 | |
static CArray< MultiInt, 9 > | attack_table |
static CArray< MultiInt, 9 > | defense_table |
static CArray< MultiInt, 81 > | attack_y_table |
static CArray< MultiInt, 81 > | defense_y_table |
static CArray< MultiInt, 90 > | x_table |
static CArray< MultiInt, 18 > | stand_table |
static CArray< MultiInt, 90 > | x_stand_table |
static CArray< MultiInt, 162 > | y_stand_table |
static CArray< MultiInt, 10 > | drop_non_drop_table |
static CArray< MultiInt, 36 > | state_king_relative_table |
フレンド | |
class | PawnDrop |
class | PawnDropY |
class | PawnDropX |
class | PawnDropPawnStand |
class | PawnDropPawnStandX |
class | PawnDropPawnStandY |
class | PawnDropNonDrop |
class | PawnStateKingRelative |
minorPiece.h の 32 行で定義されています。
anonymous enum [private] |
minorPiece.h の 43 行で定義されています。
osl::MultiInt osl::eval::ml::PawnDropBoth::eval | ( | const NumEffectState & | state | ) | [static] |
minorPiece.cc の 100 行で定義されています。
参照先 osl::BLACK, BOTH_ON_BOARD, BOTH_ON_STAND, drop_non_drop_table, osl::SimpleState::hasPieceOnStand(), index(), osl::SimpleState::isPawnMaskSet(), osl::SimpleState::kingPiece(), osl::SimpleState::kingSquare(), OPP_ON_BOARD, osl::PAWN, SELF_ON_BOARD, standValue(), state_king_relative_table, value(), と osl::WHITE.
参照元 evalWithUpdate(), と osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval().
static MultiInt osl::eval::ml::PawnDropBoth::evalWithUpdate | ( | const NumEffectState & | state, | |
Move | moved, | |||
MultiInt & | last_value | |||
) | [inline, static] |
minorPiece.h の 100 行で定義されています。
参照先 osl::alt(), osl::BLACK, BOTH_ON_BOARD, BOTH_ON_STAND, osl::captured(), osl::Move::capturePtype(), osl::SimpleState::countPiecesOnStand(), drop_non_drop_table, eval(), osl::SimpleState::hasPieceOnStand(), index(), osl::Move::isDrop(), osl::SimpleState::isPawnMaskSet(), osl::Move::isPromotion(), osl::KING, osl::SimpleState::kingPiece(), osl::SimpleState::kingSquare(), osl::Move::oldPtype(), OPP_ON_BOARD, osl::PAWN, osl::Move::player(), osl::playerToIndex(), osl::PPAWN, osl::Move::ptype(), osl::PTYPE_EMPTY, SELF_ON_BOARD, standValue(), state_king_relative_table, osl::Move::to(), osl::unpromote(), value(), osl::WHITE, と osl::Square::x().
static int osl::eval::ml::PawnDropBoth::index | ( | const Square | king, | |
int | x | |||
) | [inline, static, private] |
static int osl::eval::ml::PawnDropBoth::indexX | ( | const Piece | king, | |
int | x | |||
) | [inline, static, private] |
minorPiece.h の 65 行で定義されています。
参照先 osl::Piece::owner(), osl::Piece::square(), osl::WHITE, と osl::Square::x().
static int osl::eval::ml::PawnDropBoth::indexY | ( | const Piece | king, | |
int | x | |||
) | [inline, static, private] |
minorPiece.h の 53 行で定義されています。
参照先 osl::BLACK, osl::Piece::owner(), osl::Piece::square(), osl::Square::x(), と osl::Square::y().
static MultiInt osl::eval::ml::PawnDropBoth::standValue | ( | int | attack_index, | |
int | defense_index, | |||
int | attack_index_y, | |||
int | defense_index_y, | |||
int | attack_index_x, | |||
int | defense_index_x | |||
) | [inline, static] |
minorPiece.h の 86 行で定義されています。
参照先 stand_table, x_stand_table, と y_stand_table.
参照元 eval(), と evalWithUpdate().
static MultiInt osl::eval::ml::PawnDropBoth::value | ( | int | attack_index, | |
int | defense_index, | |||
int | attack_index_y, | |||
int | defense_index_y, | |||
int | attack_index_x, | |||
int | defense_index_x | |||
) | [inline, static] |
minorPiece.h の 74 行で定義されています。
参照先 attack_table, attack_y_table, defense_table, defense_y_table, と x_table.
参照元 eval(), と evalWithUpdate().
friend class PawnDrop [friend] |
minorPiece.h の 34 行で定義されています。
friend class PawnDropNonDrop [friend] |
minorPiece.h の 40 行で定義されています。
friend class PawnDropPawnStand [friend] |
minorPiece.h の 37 行で定義されています。
friend class PawnDropPawnStandX [friend] |
minorPiece.h の 38 行で定義されています。
friend class PawnDropPawnStandY [friend] |
minorPiece.h の 39 行で定義されています。
friend class PawnDropX [friend] |
minorPiece.h の 36 行で定義されています。
friend class PawnDropY [friend] |
minorPiece.h の 35 行で定義されています。
friend class PawnStateKingRelative [friend] |
minorPiece.h の 41 行で定義されています。
osl::CArray< osl::MultiInt, 9 > osl::eval::ml::PawnDropBoth::attack_table [static, private] |
minorPiece.h の 44 行で定義されています。
osl::CArray< osl::MultiInt, 81 > osl::eval::ml::PawnDropBoth::attack_y_table [static, private] |
minorPiece.h の 45 行で定義されています。
osl::CArray< osl::MultiInt, 9 > osl::eval::ml::PawnDropBoth::defense_table [static, private] |
minorPiece.h の 44 行で定義されています。
osl::CArray< osl::MultiInt, 81 > osl::eval::ml::PawnDropBoth::defense_y_table [static, private] |
minorPiece.h の 45 行で定義されています。
osl::CArray< osl::MultiInt, 10 > osl::eval::ml::PawnDropBoth::drop_non_drop_table [static, private] |
minorPiece.h の 50 行で定義されています。
参照元 eval(), evalWithUpdate(), と osl::eval::ml::PawnDropNonDrop::setUp().
osl::CArray< osl::MultiInt, 18 > osl::eval::ml::PawnDropBoth::stand_table [static, private] |
minorPiece.h の 47 行で定義されています。
参照元 osl::eval::ml::PawnDropPawnStand::setUp(), と standValue().
osl::CArray< osl::MultiInt, 36 > osl::eval::ml::PawnDropBoth::state_king_relative_table [static, private] |
minorPiece.h の 51 行で定義されています。
参照元 eval(), evalWithUpdate(), と osl::eval::ml::PawnStateKingRelative::setUp().
osl::CArray< osl::MultiInt, 90 > osl::eval::ml::PawnDropBoth::x_stand_table [static, private] |
minorPiece.h の 48 行で定義されています。
参照元 osl::eval::ml::PawnDropPawnStandX::setUp(), と standValue().
osl::CArray< osl::MultiInt, 90 > osl::eval::ml::PawnDropBoth::x_table [static, private] |
minorPiece.h の 46 行で定義されています。
osl::CArray< osl::MultiInt, 162 > osl::eval::ml::PawnDropBoth::y_stand_table [static, private] |
minorPiece.h の 49 行で定義されています。
参照元 osl::eval::ml::PawnDropPawnStandY::setUp(), と standValue().