クラス テンプレート osl::eval::ppair::PiecePairWithStand< Table >

持駒の点数は表以外で管理するフレームワーク. [詳細]

#include <piecePairWithStand.h>

osl::eval::ppair::PiecePairWithStand< Table >に対する継承グラフ
Inheritance graph
[凡例]
osl::eval::ppair::PiecePairWithStand< Table >のコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

Public 型

typedef PiecePairEval
< PiecePairWithStand< Table >
, Table > 
base_t

Public メソッド

 PiecePairWithStand (const SimpleState &state)

Static Public メソッド

static int standBonus (PtypeO ptypeo)
static int standBonus (const SimpleState &state)
static int diffAfterDropMove (const SimpleState &state, Position to, PtypeO ptypeo)
static int diffAfterCaptureMove (const SimpleState &state, Position from, Position to, PtypeO victim, int promote_mask)
static int diffWithUpdate (const SimpleState &new_state, Move last_move)
static void setValues (const SimpleState &, container::PieceValues &)
 関係の値をPiece 毎の価値に変換する.

Protected メソッド

 ~PiecePairWithStand ()

説明

template<class Table>
class osl::eval::ppair::PiecePairWithStand< Table >

持駒の点数は表以外で管理するフレームワーク.

(持駒の点数を表に書き込むと,同じ種類の駒を複数もっていると問 題が起こるため)

piecePairWithStand.h22 行で定義されています。


型定義

template<class Table>
typedef PiecePairEval<PiecePairWithStand<Table>, Table> osl::eval::ppair::PiecePairWithStand< Table >::base_t

osl::eval::ppair::PiecePairEval< PiecePairWithStand< Table >, Table >を再定義しています。

osl::eval::ppair::PiecePairPieceEvalで再定義されています。

piecePairWithStand.h35 行で定義されています。


コンストラクタとデストラクタ

template<class Table >
osl::eval::ppair::PiecePairWithStand< Table >::PiecePairWithStand ( const SimpleState &  state  )  [inline, explicit]
template<class Table>
osl::eval::ppair::PiecePairWithStand< Table >::~PiecePairWithStand (  )  [inline, protected]

piecePairWithStand.h38 行で定義されています。


関数

template<class Table>
static int osl::eval::ppair::PiecePairWithStand< Table >::diffAfterCaptureMove ( const SimpleState &  state,
Position  from,
Position  to,
PtypeO  victim,
int  promote_mask 
) [inline, static]

osl::eval::ppair::PiecePairEvalTableBase< Table >を再定義しています。

piecePairWithStand.h45 行で定義されています。

template<class Table>
static int osl::eval::ppair::PiecePairWithStand< Table >::diffAfterDropMove ( const SimpleState &  state,
Position  to,
PtypeO  ptypeo 
) [inline, static]

osl::eval::ppair::PiecePairEvalTableBase< Table >を再定義しています。

piecePairWithStand.h40 行で定義されています。

template<class Table>
static int osl::eval::ppair::PiecePairWithStand< Table >::diffWithUpdate ( const SimpleState &  new_state,
Move  last_move 
) [inline, static]

osl::eval::ppair::PiecePairEvalTableBase< Table >を再定義しています。

piecePairWithStand.h54 行で定義されています。

template<class Table >
void osl::eval::ppair::PiecePairWithStand< Table >::setValues ( const SimpleState &  state,
container::PieceValues values 
) [inline, static]

関係の値をPiece 毎の価値に変換する.

  • 駒Aの価値は r(A,A) + (r(A+B)/2)
  • 但し,A,Bのどちらか(のみ)玉の時には,玉でない方に関係の点数を集める

osl::eval::ppair::PiecePairEvalTableBase< Table >を再定義しています。

piecePairWithStand.tcc11 行で定義されています。

参照先 osl::isBasic(), osl::isMajorBasic(), osl::Piece::isOnBoard(), osl::newPtypeO(), osl::Piece::owner(), osl::PAWN, osl::Piece::ptype(), osl::eval::Ptype_Eval_Table, osl::Piece::ptypeO(), osl::eval::ppair::PiecePairEvalTableBase< Table >::setValues(), osl::Piece::SIZE, と osl::eval::PtypeEvalTable::value().

template<class Table >
int osl::eval::ppair::PiecePairWithStand< Table >::standBonus ( const SimpleState &  state  )  [inline, static]
template<class Table>
static int osl::eval::ppair::PiecePairWithStand< Table >::standBonus ( PtypeO  ptypeo  )  [inline, static]

このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義
Sun May 16 09:58:16 2010に生成されました。  doxygen 1.6.3