67 for (
size_t i = 0; i < weights.
dimension(); ++i)
70 table[i] = -weights.
value(i);
Ptype unpromote(Ptype ptype)
ptypeがpromote後の型の時に,promote前の型を返す. promoteしていない型の時はそのまま返す ...
CArray< int, PTYPEO_SIZE > ptypeO2Val
static int eval(const NumEffectState &state)
static int value(PtypeO ptypeO)
int value(size_t index) const
PtypeO newPtypeO(Player player, Ptype ptype)
const Piece pieceOf(int num) const
static void setUp(const Weights &weights)
const PtypeEvalTable Ptype_Eval_Table
PtypeO
Player + Ptype [-15, 15] PtypeO の O は Owner の O.
void fill(const T_simple &value=T_simple())
constexpr bool isPiece(Ptype ptype)
ptypeが空白やEDGEでないかのチェック
PtypeO captured(PtypeO ptypeO)
unpromoteすると共に,ownerを反転する.
static CArray< int, PTYPEO_SIZE > table
void reset(const CArray< int, PTYPE_SIZE > &values)
int value(PtypeO ptypeO) const
先手から見たptypeOの駒の価値
CArray< int, PTYPEO_SIZE > captureVal
CArray< int, PTYPEO_SIZE > promoteVal