説明を見る。00001
00002
00003 #ifndef OSL_FIXEDDEPTHSOLVEREXT_H
00004 #define OSL_FIXEDDEPTHSOLVEREXT_H
00005 #include "osl/checkmate/fixedDepthSearcher.h"
00006
00007 namespace osl
00008 {
00009 namespace checkmate
00010 {
00011 class FixedDepthSolverExt : public FixedDepthSearcher
00012 {
00013 public:
00014 FixedDepthSolverExt();
00015 explicit FixedDepthSolverExt(NumEffectState& s);
00016
00021 template <Player P>
00022 const ProofDisproof hasCheckmateMove(int depth, Move& best_move,
00023 PieceStand& proof_pieces);
00028 template <Player P>
00029 const ProofDisproof hasCheckmateWithGuide(int depth, Move& guide,
00030 PieceStand& proof_pieces);
00038 template <Player P>
00039 const ProofDisproof hasEscapeMove(Move last_move,int depth,
00040 PieceStand& proof_pieces);
00046 template <Player P>
00047 const ProofDisproof hasEscapeByMove(Move next_move, int depth,
00048 Move& check_move,
00049 PieceStand& proof_pieces);
00050 const ProofDisproof hasCheckmateMoveOfTurn(int depth,Move& best_move,
00051 PieceStand& proof_pieces);
00052 const ProofDisproof hasCheckmateWithGuideOfTurn(int depth, Move& guide,
00053 PieceStand& proof_pieces);
00054 const ProofDisproof hasEscapeByMoveOfTurn(Move next_move, int depth,
00055 Move& check_move,
00056 PieceStand& proof_pieces);
00057
00058 class SetProofPieces;
00059 };
00060 }
00061 }
00062
00063
00064 #endif
00065
00066
00067
00068