checkmateIfCapture.h
Go to the documentation of this file.
/* checkmateIfCapture.h
*/
#ifndef OSL_CHECKMATEIFCAPTURE_H
#define OSL_CHECKMATEIFCAPTURE_H
#include "osl/numEffectState.h"
namespace osl
{
namespace checkmate
{
struct CheckmateIfCapture
{
static bool effectiveAttack(NumEffectState& state, Move move, int depth);
static bool cannotCapture(NumEffectState& state, Square last_to, int depth);
static bool effectiveAttackCandidate0(const NumEffectState& state, Move move);
struct CallDefense;
};
} // namespace checkmate
} // osl
#endif /* OSL_CHECKMATEIFCAPTURE_H */
// ;;; Local Variables:
// ;;; mode:c++
// ;;; c-basic-offset:2
// ;;; End:
osl::Move
圧縮していない moveの表現 .
Definition basic_type.h:1052
osl::NumEffectState
利きを持つ局面
Definition numEffectState.h:34
osl::Square
Definition basic_type.h:532
osl::checkmate
Definition king8Info.h:12
osl
Definition additionalEffect.h:6
numEffectState.h
osl::checkmate::CheckmateIfCapture::CallDefense
Definition checkmateIfCapture.cc:10
osl::checkmate::CheckmateIfCapture
Definition checkmateIfCapture.h:14
osl::checkmate::CheckmateIfCapture::cannotCapture
static bool cannotCapture(NumEffectState &state, Square last_to, int depth)
手番の側がSquare の駒を取っても詰みがないか．
Definition checkmateIfCapture.cc:133
osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0
static bool effectiveAttackCandidate0(const NumEffectState &state, Move move)
depth==0でeffectiveAttackになる可能性がなければfalse
Definition checkmateIfCapture.cc:21
osl::checkmate::CheckmateIfCapture::effectiveAttack
static bool effectiveAttack(NumEffectState &state, Move move, int depth)
move を指した後，alt(move.player())が取ると詰みかどうか.
Definition checkmateIfCapture.cc:120