My Project
fixedDepthSolverExt.h
Go to the documentation of this file.
1/* fixedDepthSolverExt.h
2 */
3#ifndef OSL_FIXEDDEPTHSOLVEREXT_H
4#define OSL_FIXEDDEPTHSOLVEREXT_H
6
7namespace osl
8{
9 namespace checkmate
10 {
12 {
13 public:
16
21 template <Player P>
22 const ProofDisproof hasCheckmateMove(int depth, Move& best_move,
23 PieceStand& proof_pieces);
28 template <Player P>
30 PieceStand& proof_pieces);
38 template <Player P>
39 const ProofDisproof hasEscapeMove(Move last_move,int depth,
40 PieceStand& proof_pieces);
46 template <Player P>
49 PieceStand& proof_pieces);
50 const ProofDisproof hasCheckmateMoveOfTurn(int depth,Move& best_move,
51 PieceStand& proof_pieces);
53 PieceStand& proof_pieces);
56 PieceStand& proof_pieces);
57
58 class SetProofPieces;
59 };
60 }
61}
62
63
64#endif /* _FIXEDDEPTHSOLVEREXT_H */
65// ;;; Local Variables:
66// ;;; mode:c++
67// ;;; c-basic-offset:2
68// ;;; End:
圧縮していない moveの表現 .
利きを持つ局面
片方の手番の持駒の枚数を記録するクラス.
深さ固定で,その深さまで depth first searchで読む詰将棋.
const ProofDisproof hasEscapeByMove(Move next_move, int depth, Move &check_move, PieceStand &proof_pieces)
next_move を指して逃げられるかどうかを調べる
const ProofDisproof hasCheckmateMove(int depth, Move &best_move, PieceStand &proof_pieces)
stateがPから詰む局面かを返す.
const ProofDisproof hasCheckmateWithGuide(int depth, Move &guide, PieceStand &proof_pieces)
guide を最初に試す. guide.isNormal() である必要はあるが,その局面でvalid でなくても良い
const ProofDisproof hasEscapeByMoveOfTurn(Move next_move, int depth, Move &check_move, PieceStand &proof_pieces)
const ProofDisproof hasCheckmateMoveOfTurn(int depth, Move &best_move, PieceStand &proof_pieces)
const ProofDisproof hasEscapeMove(Move last_move, int depth, PieceStand &proof_pieces)
stateがPによって詰んでいる局面かを返す.
const ProofDisproof hasCheckmateWithGuideOfTurn(int depth, Move &guide, PieceStand &proof_pieces)
証明数(proof number)と反証数(disproof number).