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
5 #include "osl/numEffectState.h"
6 
7 namespace 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の表現 .
Definition: basic_type.h:1052
利きを持つ局面
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