My Project
immediateCheckmate.h
Go to the documentation of this file.
1/* immediateCheckmate.h
2 */
3#ifndef OSL_CHECKMATE_IMMEDIATE_CHECKMATE_H
4#define OSL_CHECKMATE_IMMEDIATE_CHECKMATE_H
6
7namespace osl
8{
9 namespace checkmate
10 {
12 {
13 private:
14 template<Player P,bool setBestMove>
15 static bool hasCheckmateDrop(NumEffectState const& state,Square target,
16 King8Info mask,Move& bestMove);
17
18 public:
19 template<Player P,bool setBestMove>
20 static bool slowHasCheckmateMoveDirPiece(NumEffectState const& state,Square target,
21 King8Info mask,Direction d,Square pos,Piece p,Ptype ptype,Move& bestMove);
22
23 template<Player P,bool setBestMove>
24 static bool hasCheckmateMoveDirPiece(NumEffectState const& state,Square target,
25 King8Info mask,Direction d,Square pos,Piece p,Move& bestMove);
26
27 template<Player P,bool setBestMove>
28 static bool hasCheckmateMoveDir(NumEffectState const& state,Square target,
29 King8Info mask,Direction d,Move& bestMove);
30
31 template<Player P,bool setBestMove>
32 static bool hasCheckmateMove(NumEffectState const& state,Square target,
33 King8Info mask,Move& bestMove);
34
43 template<Player P>
44 static bool hasCheckmateMove(NumEffectState const& state);
45 template<Player P>
46 static bool hasCheckmateMove(NumEffectState const& state, King8Info);
47
57 template<Player P>
58 static bool hasCheckmateMove(NumEffectState const& state,Move &bestMove);
59 template<Player P>
60 static bool hasCheckmateMove(NumEffectState const& state,
61 King8Info canMoveMask,
62 Square king, Move& bestMove);
66 static bool hasCheckmateMove(Player pl,NumEffectState const& state);
67 static bool hasCheckmateMove(Player pl,NumEffectState const& state,Move& bestMove);
68
69 };
70 } // namespace checkmate
72} // namespace osl
73#endif /* _CHECKMATE_IMMEDIATE_CHECKMATE_H */
74// ;;; Local Variables:
75// ;;; mode:c++
76// ;;; c-basic-offset:2
77// ;;; End:
78
圧縮していない moveの表現 .
利きを持つ局面
static bool hasCheckmateMove(NumEffectState const &state, Move &bestMove)
一手詰めがある局面かどうか判定(move).
static bool hasCheckmateMove(NumEffectState const &state)
一手詰めがある局面かどうか判定(move).
static bool hasCheckmateMove(NumEffectState const &state, Square target, King8Info mask, Move &bestMove)
static bool hasCheckmateMoveDir(NumEffectState const &state, Square target, King8Info mask, Direction d, Move &bestMove)
static bool slowHasCheckmateMoveDirPiece(NumEffectState const &state, Square target, King8Info mask, Direction d, Square pos, Piece p, Ptype ptype, Move &bestMove)
static bool hasCheckmateMoveDirPiece(NumEffectState const &state, Square target, King8Info mask, Direction d, Square pos, Piece p, Move &bestMove)
static bool hasCheckmateMove(NumEffectState const &state, King8Info)
static bool hasCheckmateMove(NumEffectState const &state, King8Info canMoveMask, Square king, Move &bestMove)
static bool hasCheckmateDrop(NumEffectState const &state, Square target, King8Info mask, Move &bestMove)
敵玉の8近傍の状態を表す.
Definition king8Info.h:29
Ptype
駒の種類を4ビットでコード化する
Definition basic_type.h:84
Direction
Definition basic_type.h:310
Player
Definition basic_type.h:8