Go to the documentation of this file.
3 #ifndef OSL_PTYPEEVAL_H
4 #define OSL_PTYPEEVAL_H
71 #ifndef EVAL_ML_PIECEEVAL_H
72 #define EVAL_ML_PIECEEVAL_H
90 Move moved,
int last_value)
93 int value = last_value;
114 #endif // EVAL_ML_PIECEEVAL_H
CArray< int, PTYPEO_SIZE > captureVal
constexpr Player alt(Player player)
bool isValidPtypeO(int ptypeO)
int value(Ptype ptype) const
ptypeの駒の価値
static int value(PtypeO ptypeO)
static CArray< int, PTYPEO_SIZE > table
static int eval(const NumEffectState &state)
PtypeO newPtypeO(Player player, Ptype ptype)
void reset(const CArray< int, PTYPE_SIZE > &values)
const PtypeEvalTable Ptype_Eval_Table
PtypeO oldPtypeO() const
移動前のPtypeO, i.e., 成る手だった場合成る前
Ptype capturePtype() const
int captureValue(PtypeO ptypeO) const
ownerのptypeOがcaptureされた時の評価値の増減
PtypeO ptypeO() const
移動後のPtype, i.e., 成る手だった場合成った後
CArray< int, PTYPEO_SIZE > ptypeO2Val
bool isValid(Player player)
cast等で作られたplayerが正しいかどうかを返す
PtypeO
Player + Ptype [-15, 15] PtypeO の O は Owner の O.
PtypeO captured(PtypeO ptypeO)
unpromoteすると共に,ownerを反転する.
bool isPromoted(Ptype ptype)
ptypeがpromote後の型かどうかのチェック
PtypeO capturePtypeO() const
int diffWithMove(const NumEffectState &, Move move) const
CArray< int, PTYPEO_SIZE > promoteVal
static void setUp(const Weights &weights)
int value(PtypeO ptypeO) const
先手から見たptypeOの駒の価値
static int evalWithUpdate(const NumEffectState &, Move moved, int last_value)
Ptype unpromote(Ptype ptype)
ptypeがpromote後の型の時に,promote前の型を返す. promoteしていない型の時はそのまま返す
int promoteValue(PtypeO ptypeO) const
ptypeOにpromoteした時の評価値の増減