My Project
see.h
Go to the documentation of this file.
1/* see.h
2 */
3#ifndef OSL_SEE_H
4#define OSL_SEE_H
5
7
8namespace osl
9{
10 namespace eval
11 {
12 class PtypeEvalTable;
13 struct See
14 {
15 static int see(const NumEffectState& state, Move move,
16 const PieceMask& my_pin=PieceMask(), const PieceMask& op_pin=PieceMask(), const PtypeEvalTable *table=0);
17
18 // public for test
19 template <Player P>
20 static int seeInternal(const NumEffectState& state, Move move,
21 const PieceMask& my_pin, const PieceMask& op_pin,
22 const PtypeEvalTable &table);
23 template <Player P>
24 static void findEffectPieces(const NumEffectState& state, Square effect_to,
25 PtypeOSquareVector& my_pieces, PtypeOSquareVector& op_pieces);
26 template <osl::Player P>
27 static void findEffectPiecesAfterMove(const NumEffectState& state, Move move,
28 PtypeOSquareVector& my_pieces, PtypeOSquareVector& op_pieces);
29 static void findAdditionalPieces(const NumEffectState& state, Player attack, Square target,
30 Square direct_attack_from,
38 template <Player P>
39 static int computeValue(const NumEffectState& state,
40 Move move,
41 PtypeOSquareVector& my_pieces,
42 PtypeOSquareVector& op_pieces,
43 const PieceMask& my_pin,
44 const PieceMask& op_pin,
45 const PtypeEvalTable &table);
46 struct StorePtypeO;
47 struct FindEffectMore;
48 };
49 };
50 using eval::See;
51}
52
53#endif /* _SEE_H */
54// ;;; Local Variables:
55// ;;; mode:c++
56// ;;; c-basic-offset:2
57// ;;; End:
圧縮していない moveの表現 .
利きを持つ局面
駒番号のビットセット.
Definition pieceMask.h:21
Player
Definition basic_type.h:8
static void findEffectPiecesAfterMove(const NumEffectState &state, Move move, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces)
Definition see.cc:66
static int seeInternal(const NumEffectState &state, Move move, const PieceMask &my_pin, const PieceMask &op_pin, const PtypeEvalTable &table)
Definition see.cc:237
static void findEffectPieces(const NumEffectState &state, Square effect_to, PtypeOSquareVector &my_pieces, PtypeOSquareVector &op_pieces)
Definition see.cc:30
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
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
static void findAdditionalPieces(const NumEffectState &state, Player attack, Square target, Square direct_attack_from, PtypeOSquareVector &out)
Definition see.cc:274