see.h
Go to the documentation of this file.
/* see.h
*/
#ifndef OSL_SEE_H
#define OSL_SEE_H
#include "osl/numEffectState.h"
namespace osl
{
namespace eval
{
class PtypeEvalTable;
struct See
{
static int see(const NumEffectState& state, Move move,
const PieceMask& my_pin=PieceMask(), const PieceMask& op_pin=PieceMask(), const PtypeEvalTable *table=0);
// public for test
template <Player P>
static int seeInternal(const NumEffectState& state, Move move,
const PieceMask& my_pin, const PieceMask& op_pin,
const PtypeEvalTable &table);
template <Player P>
static void findEffectPieces(const NumEffectState& state, Square effect_to,
PtypeOSquareVector& my_pieces, PtypeOSquareVector& op_pieces);
template <osl::Player P>
static void findEffectPiecesAfterMove(const NumEffectState& state, Move move,
PtypeOSquareVector& my_pieces, PtypeOSquareVector& op_pieces);
static void findAdditionalPieces(const NumEffectState& state, Player attack, Square target,
Square direct_attack_from,
PtypeOSquareVector& out);
template <Player P>
static int computeValue(const NumEffectState& state,
Move move,
PtypeOSquareVector& my_pieces,
PtypeOSquareVector& op_pieces,
const PieceMask& my_pin,
const PieceMask& op_pin,
const PtypeEvalTable &table);
struct StorePtypeO;
struct FindEffectMore;
};
};
using eval::See;
}
#endif /* _SEE_H */
// ;;; Local Variables:
// ;;; mode:c++
// ;;; c-basic-offset:2
// ;;; End:
osl::Move
圧縮していない moveの表現 .
Definition basic_type.h:1052
osl::NumEffectState
利きを持つ局面
Definition numEffectState.h:34
osl::PieceMask
駒番号のビットセット.
Definition pieceMask.h:21
osl::PtypeOSquareVector
Definition container.h:322
osl::Square
Definition basic_type.h:532
osl::eval::PtypeEvalTable
Definition ptypeEval.h:16
osl::eval
Definition eval_pieceStand.cc:468
osl
Definition additionalEffect.h:6
osl::Player
Player
Definition basic_type.h:8
numEffectState.h
osl::eval::See
Definition see.h:14
osl::eval::See::findEffectPiecesAfterMove
static void findEffectPiecesAfterMove(const NumEffectState &state, Move move, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces)
Definition see.cc:66
osl::eval::See::seeInternal
static int seeInternal(const NumEffectState &state, Move move, const PieceMask &my_pin, const PieceMask &op_pin, const PtypeEvalTable &table)
Definition see.cc:237
osl::eval::See::findEffectPieces
static void findEffectPieces(const NumEffectState &state, Square effect_to, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces)
Definition see.cc:30
osl::eval::See::see
static int see(const NumEffectState &state, Move move, const PieceMask &my_pin=PieceMask(), const PieceMask &op_pin=PieceMask(), const PtypeEvalTable *table=0)
Definition see.cc:261
osl::eval::See::computeValue
static int computeValue(const NumEffectState &state, Move move, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces, const PieceMask &my_pin, const PieceMask &op_pin, const PtypeEvalTable &table)
PtypeOSquareVector をもとに取り返し値を計算する
Definition see.cc:112
osl::eval::See::findAdditionalPieces
static void findAdditionalPieces(const NumEffectState &state, Player attack, Square target, Square direct_attack_from, PtypeOSquareVector &out)
Definition see.cc:274