構造体 osl::eval::TakeBackValue

すべてのメンバ一覧

Static Public メソッド

template<Player P>
static void findEffectPieces (const NumEffectState &state, Position effect_to, PtypeOPositionVector &my_pieces, PtypeOPositionVector &op_pieces)
 effectTo に利きのある駒を全て集める
template<Player P>
static void findEffectPiecesAfterMove (const NumEffectState &state, Move move, PtypeOPositionVector &my_pieces, PtypeOPositionVector &op_pieces)
 move 後に move.to() に利きのある駒を全て集める
template<Player P>
static int computeValue (Position target, PtypeO ptypeO, const PtypeOPositionVector &my_pieces, const PtypeOPositionVector &op_pieces)
 PtypeOPositionVector をもとに取り返し値を計算する.

説明

pieceEval.tcc62 行で定義されています。


関数

template<Player P>
static int osl::eval::TakeBackValue::computeValue ( Position  target,
PtypeO  ptypeO,
const PtypeOPositionVector &  my_pieces,
const PtypeOPositionVector &  op_pieces 
) [inline, static]

PtypeOPositionVector をもとに取り返し値を計算する.

FIXME: 利きを延ばすコードを入れる前に PtypeOPositionVector を PtypeO,Position のベクタに変更する必要がある. computeDiffAfterMoveMulti などで駒を動かさずに, move 後の取り合いを考えている時に,piece.position() が必ずしも 取り合いのためのposition ではないため.

引数:
P alt(P) からの取り返し
target ここに関する取り返し
ptypeo target にあると想定される駒

pieceEval.tcc147 行で定義されています。

参照先 osl::Position::canPromote(), osl::canPromote(), osl::eval::PtypeEvalTable::captureValue(), osl::eval::max(), osl::promote(), osl::eval::PtypeEvalTable::promoteValue(), と osl::eval::Ptype_Eval_Table.

template<Player P>
static void osl::eval::TakeBackValue::findEffectPieces ( const NumEffectState &  state,
Position  effect_to,
PtypeOPositionVector &  my_pieces,
PtypeOPositionVector &  op_pieces 
) [inline, static]

effectTo に利きのある駒を全て集める

pieceEval.tcc66 行で定義されています。

template<Player P>
static void osl::eval::TakeBackValue::findEffectPiecesAfterMove ( const NumEffectState &  state,
Move  move,
PtypeOPositionVector &  my_pieces,
PtypeOPositionVector &  op_pieces 
) [inline, static]

move 後に move.to() に利きのある駒を全て集める

この部分は effectの種類によっては高速に求まるかもしれない

offsetからshortを求める

knight moveは0にしたいが,Board_Tableには対応するものはない

pieceEval.tcc82 行で定義されています。

参照先 osl::Board_Table, osl::dirToMask(), osl::Move::from(), osl::BoardTable::getLongDirection(), osl::PtypeTable::getMoveMask(), osl::BoardTable::getShortOffsetNotKnight(), osl::Piece::isOnBoardByOwner(), osl::Piece::ptype(), osl::Ptype_Table, osl::Move::to(), と osl::Offset::zero().


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