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