My Project
Classes | Public Member Functions | List of all members
osl::checkmate::FixedDepthSolverExt Class Reference

#include <fixedDepthSolverExt.h>

Inheritance diagram for osl::checkmate::FixedDepthSolverExt:
osl::checkmate::FixedDepthSearcher

Classes

struct  SetProofPieces
 

Public Member Functions

 FixedDepthSolverExt ()
 
 FixedDepthSolverExt (NumEffectState &s)
 
template<Player P>
const ProofDisproof hasCheckmateMove (int depth, Move &best_move, PieceStand &proof_pieces)
 stateがPから詰む局面かを返す.
 
template<Player P>
const ProofDisproof hasCheckmateWithGuide (int depth, Move &guide, PieceStand &proof_pieces)
 guide を最初に試す. guide.isNormal() である必要はあるが,その局面でvalid でなくても良い
 
template<Player P>
const ProofDisproof hasEscapeMove (Move last_move, int depth, PieceStand &proof_pieces)
 stateがPによって詰んでいる局面かを返す.
 
template<Player P>
const ProofDisproof hasEscapeByMove (Move next_move, int depth, Move &check_move, PieceStand &proof_pieces)
 next_move を指して逃げられるかどうかを調べる
 
const ProofDisproof hasCheckmateMoveOfTurn (int depth, Move &best_move, PieceStand &proof_pieces)
 
const ProofDisproof hasCheckmateWithGuideOfTurn (int depth, Move &guide, PieceStand &proof_pieces)
 
const ProofDisproof hasEscapeByMoveOfTurn (Move next_move, int depth, Move &check_move, PieceStand &proof_pieces)
 
template<osl::Player P>
const osl::checkmate::ProofDisproof hasEscapeByMove (Move next_move, int depth, Move &check_move, PieceStand &proof_pieces)
 
template<osl::Player P>
const osl::checkmate::ProofDisproof hasCheckmateWithGuide (int depth, Move &guide, PieceStand &proof_pieces)
 
template<osl::Player P>
const osl::checkmate::ProofDisproof hasCheckmateMove (int depth, Move &best_move, PieceStand &proof_pieces)
 
template<osl::Player P>
const osl::checkmate::ProofDisproof hasEscapeMove (Move last_move, int depth, PieceStand &proof_pieces)
 
- Public Member Functions inherited from osl::checkmate::FixedDepthSearcher
 FixedDepthSearcher ()
 
 FixedDepthSearcher (NumEffectState &s)
 
void setState (NumEffectState &s)
 
int getCount () const
 
const PieceStand stand (Player P) const
 
template<Player P, class SetPieces , bool HasGuide>
const ProofDisproof attack (int depth, Move &best_move, PieceStand &proof_pieces)
 
template<Player P, class SetPieces , bool HasGuide>
const ProofDisproof attackMayUnsafe (int depth, Move &best_move, PieceStand &proof_pieces)
 
template<Player P, class SetPieces >
const ProofDisproof defense (Move last_move, int depth, PieceStand &proof_pieces)
 
template<Player P>
const ProofDisproof hasCheckmateMove (int depth, Move &best_move)
 
template<Player P>
const ProofDisproof hasCheckmateMove (int depth)
 
template<Player P>
const ProofDisproof hasEscapeMove (Move last_move, int depth)
 
template<Player P>
const ProofDisproof hasEscapeByMove (Move next_move, int depth)
 
const ProofDisproof hasCheckmateMoveOfTurn (int depth, Move &best_move)
 
const ProofDisproof hasEscapeMoveOfTurn (Move last_move, int depth)
 
const ProofDisproof hasEscapeByMoveOfTurn (Move next_move, int depth)
 
template<Player Defense>
void generateBlockingWhenLiberty0 (Piece defense_king, Square attack_from, CheckMoveVector &moves) const
 無駄合をなるべく生成しない,合駒生成
 
template<Player Defense>
int blockEstimation (Square attack_from, Square defense_king) const
 

Additional Inherited Members

- Protected Attributes inherited from osl::checkmate::FixedDepthSearcher
NumEffectStatestate
 
int count
 

Detailed Description

Definition at line 11 of file fixedDepthSolverExt.h.

Constructor & Destructor Documentation

◆ FixedDepthSolverExt() [1/2]

osl::checkmate::FixedDepthSolverExt::FixedDepthSolverExt ( )

Definition at line 37 of file fixedDepthSolverExt.cc.

◆ FixedDepthSolverExt() [2/2]

osl::checkmate::FixedDepthSolverExt::FixedDepthSolverExt ( NumEffectState s)
explicit

Definition at line 41 of file fixedDepthSolverExt.cc.

Member Function Documentation

◆ hasCheckmateMove() [1/2]

template<osl::Player P>
const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSolverExt::hasCheckmateMove ( int  depth,
Move best_move,
PieceStand proof_pieces 
)

Definition at line 112 of file fixedDepthSolverExt.cc.

◆ hasCheckmateMove() [2/2]

template<Player P>
const ProofDisproof osl::checkmate::FixedDepthSolverExt::hasCheckmateMove ( int  depth,
Move best_move,
PieceStand proof_pieces 
)

stateがPから詰む局面かを返す.

stateの手番はPと一致しているという前提

Referenced by osl::checkmate::Dfpn::attack(), and osl::checkmate::Dfpn::proofOracleAttack().

◆ hasCheckmateMoveOfTurn()

const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSolverExt::hasCheckmateMoveOfTurn ( int  depth,
Move best_move,
PieceStand proof_pieces 
)

Definition at line 62 of file fixedDepthSolverExt.cc.

References osl::BLACK.

◆ hasCheckmateWithGuide() [1/2]

template<osl::Player P>
const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuide ( int  depth,
Move guide,
PieceStand proof_pieces 
)

◆ hasCheckmateWithGuide() [2/2]

template<Player P>
const ProofDisproof osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuide ( int  depth,
Move guide,
PieceStand proof_pieces 
)

guide を最初に試す. guide.isNormal() である必要はあるが,その局面でvalid でなくても良い

◆ hasCheckmateWithGuideOfTurn()

const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuideOfTurn ( int  depth,
Move guide,
PieceStand proof_pieces 
)

Definition at line 72 of file fixedDepthSolverExt.cc.

References osl::BLACK.

◆ hasEscapeByMove() [1/2]

template<osl::Player P>
const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSolverExt::hasEscapeByMove ( Move  next_move,
int  depth,
Move check_move,
PieceStand proof_pieces 
)

Definition at line 48 of file fixedDepthSolverExt.cc.

References osl::alt().

◆ hasEscapeByMove() [2/2]

template<Player P>
const ProofDisproof osl::checkmate::FixedDepthSolverExt::hasEscapeByMove ( Move  next_move,
int  depth,
Move check_move,
PieceStand proof_pieces 
)

next_move を指して逃げられるかどうかを調べる

Parameters
check_move詰の場合の攻撃側の指手
depthnext_move を指した後からカウント

Referenced by osl::checkmate::Dfpn::defense(), and osl::checkmate::Dfpn::proofOracleDefense().

◆ hasEscapeByMoveOfTurn()

const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSolverExt::hasEscapeByMoveOfTurn ( Move  next_move,
int  depth,
Move check_move,
PieceStand proof_pieces 
)

Definition at line 82 of file fixedDepthSolverExt.cc.

References osl::BLACK.

◆ hasEscapeMove() [1/2]

template<osl::Player P>
const osl::checkmate::ProofDisproof osl::checkmate::FixedDepthSolverExt::hasEscapeMove ( Move  last_move,
int  depth,
PieceStand proof_pieces 
)

Definition at line 119 of file fixedDepthSolverExt.cc.

◆ hasEscapeMove() [2/2]

template<Player P>
const ProofDisproof osl::checkmate::FixedDepthSolverExt::hasEscapeMove ( Move  last_move,
int  depth,
PieceStand proof_pieces 
)

stateがPによって詰んでいる局面かを返す.

王手がかかっていない時には呼ばない stateの手番はalt(P)と一致しているという前提 stateはPによって王手がかかっているという前提

Parameters
last_move打ち歩詰めの判定に必要

The documentation for this class was generated from the following files: