#include <see.h>
Classes | |
struct | FindEffectMore |
Public Member Functions | |
template<osl::Player P> | |
void | findEffectPieces (const NumEffectState &state, Square effect_to, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces) |
template<osl::Player P> | |
void | findEffectPiecesAfterMove (const NumEffectState &state, Move move, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces) |
template<osl::Player P> | |
int | computeValue (const NumEffectState &state, Move move, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces, const PieceMask &my_pin, const PieceMask &op_pin, const eval::PtypeEvalTable &table) |
template<osl::Player P> | |
int | seeInternal (const NumEffectState &state, Move move, const PieceMask &my_pin, const PieceMask &op_pin, const eval::PtypeEvalTable &table) |
Static Public Member Functions | |
static int | see (const NumEffectState &state, Move move, const PieceMask &my_pin=PieceMask(), const PieceMask &op_pin=PieceMask(), const PtypeEvalTable *table=0) |
template<Player P> | |
static int | seeInternal (const NumEffectState &state, Move move, const PieceMask &my_pin, const PieceMask &op_pin, const PtypeEvalTable &table) |
template<Player P> | |
static void | findEffectPieces (const NumEffectState &state, Square effect_to, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces) |
template<osl::Player P> | |
static void | findEffectPiecesAfterMove (const NumEffectState &state, Move move, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces) |
static void | findAdditionalPieces (const NumEffectState &state, Player attack, Square target, Square direct_attack_from, PtypeOSquareVector &out) |
template<Player P> | |
static int | computeValue (const NumEffectState &state, Move move, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces, const PieceMask &my_pin, const PieceMask &op_pin, const PtypeEvalTable &table) |
PtypeOSquareVector をもとに取り返し値を計算する More... | |
|
static |
PtypeOSquareVector をもとに取り返し値を計算する
P | alt(P) からの取り返し |
target | ここに関する取り返し |
ptypeo | target にあると想定される駒 |
int osl::eval::See::computeValue | ( | const NumEffectState & | state, |
Move | move, | ||
PtypeOSquareVector & | my_pieces, | ||
PtypeOSquareVector & | op_pieces, | ||
const PieceMask & | my_pin, | ||
const PieceMask & | op_pin, | ||
const eval::PtypeEvalTable & | table | ||
) |
Definition at line 112 of file see.cc.
References osl::canPromote(), osl::Square::canPromote(), osl::eval::PtypeEvalTable::captureValue(), osl::Move::from(), osl::KING, osl::eval::max(), osl::newPtypeO(), osl::Piece::number(), osl::Piece::owner(), osl::promote(), osl::eval::PtypeEvalTable::promoteValue(), osl::Move::ptypeO(), osl::Piece::square(), target, and osl::Move::to().
|
static |
Definition at line 274 of file see.cc.
References osl::Board_Table, osl::PtypeTable::getEffect(), osl::BoardTable::getShortOffsetNotKnight(), osl::EffectContent::hasEffect(), osl::Piece::isPiece(), osl::Piece::owner(), osl::Ptype_Table, osl::Piece::ptypeO(), osl::Piece::square(), and osl::Offset::zero().
Referenced by osl::eval::See::FindEffectMore::store().
|
static |
void osl::eval::See::findEffectPieces | ( | const NumEffectState & | state, |
Square | effect_to, | ||
PtypeOSquareVector & | my_pieces, | ||
PtypeOSquareVector & | op_pieces | ||
) |
|
static |
void osl::eval::See::findEffectPiecesAfterMove | ( | const NumEffectState & | state, |
Move | move, | ||
PtypeOSquareVector & | my_pieces, | ||
PtypeOSquareVector & | op_pieces | ||
) |
Definition at line 66 of file see.cc.
References osl::Move::from(), osl::Piece::number(), osl::Move::player(), osl::Piece::square(), and osl::Move::to().
|
static |
Definition at line 261 of file see.cc.
References osl::BLACK, osl::Move::player(), and osl::eval::Ptype_Eval_Table.
|
static |
int osl::eval::See::seeInternal | ( | const NumEffectState & | state, |
Move | move, | ||
const PieceMask & | my_pin, | ||
const PieceMask & | op_pin, | ||
const eval::PtypeEvalTable & | table | ||
) |
Definition at line 237 of file see.cc.
References osl::eval::PieceEval::diffWithMove(), osl::Move::from(), and osl::Move::to().