immediateCheckmate.h
Go to the documentation of this file.
/* immediateCheckmate.h
*/
#ifndef OSL_CHECKMATE_IMMEDIATE_CHECKMATE_H
#define OSL_CHECKMATE_IMMEDIATE_CHECKMATE_H
#include "osl/numEffectState.h"
namespace osl
{
namespace checkmate
{
class ImmediateCheckmate
{
private:
template<Player P,bool setBestMove>
static bool hasCheckmateDrop(NumEffectState const& state,Square target,
King8Info mask,Move& bestMove);
public:
template<Player P,bool setBestMove>
static bool slowHasCheckmateMoveDirPiece(NumEffectState const& state,Square target,
King8Info mask,Direction d,Square pos,Piece p,Ptype ptype,Move& bestMove);
template<Player P,bool setBestMove>
static bool hasCheckmateMoveDirPiece(NumEffectState const& state,Square target,
King8Info mask,Direction d,Square pos,Piece p,Move& bestMove);
template<Player P,bool setBestMove>
static bool hasCheckmateMoveDir(NumEffectState const& state,Square target,
King8Info mask,Direction d,Move& bestMove);
template<Player P,bool setBestMove>
static bool hasCheckmateMove(NumEffectState const& state,Square target,
King8Info mask,Move& bestMove);
template<Player P>
static bool hasCheckmateMove(NumEffectState const& state);
template<Player P>
static bool hasCheckmateMove(NumEffectState const& state, King8Info);
template<Player P>
static bool hasCheckmateMove(NumEffectState const& state,Move &bestMove);
template<Player P>
static bool hasCheckmateMove(NumEffectState const& state,
King8Info canMoveMask,
Square king, Move& bestMove);
static bool hasCheckmateMove(Player pl,NumEffectState const& state);
static bool hasCheckmateMove(Player pl,NumEffectState const& state,Move& bestMove);
};
} // namespace checkmate
using checkmate::ImmediateCheckmate;
} // namespace osl
#endif /* _CHECKMATE_IMMEDIATE_CHECKMATE_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::Piece
駒.
Definition basic_type.h:788
osl::Square
Definition basic_type.h:532
osl::checkmate::ImmediateCheckmate
Definition immediateCheckmate.h:12
osl::checkmate::ImmediateCheckmate::hasCheckmateMove
static bool hasCheckmateMove(NumEffectState const &state, Move &bestMove)
一手詰めがある局面かどうか判定(move).
osl::checkmate::ImmediateCheckmate::hasCheckmateMove
static bool hasCheckmateMove(NumEffectState const &state)
一手詰めがある局面かどうか判定(move).
osl::checkmate::ImmediateCheckmate::hasCheckmateMove
static bool hasCheckmateMove(NumEffectState const &state, Square target, King8Info mask, Move &bestMove)
osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDir
static bool hasCheckmateMoveDir(NumEffectState const &state, Square target, King8Info mask, Direction d, Move &bestMove)
osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece
static bool slowHasCheckmateMoveDirPiece(NumEffectState const &state, Square target, King8Info mask, Direction d, Square pos, Piece p, Ptype ptype, Move &bestMove)
osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDirPiece
static bool hasCheckmateMoveDirPiece(NumEffectState const &state, Square target, King8Info mask, Direction d, Square pos, Piece p, Move &bestMove)
osl::checkmate::ImmediateCheckmate::hasCheckmateMove
static bool hasCheckmateMove(NumEffectState const &state, King8Info)
osl::checkmate::ImmediateCheckmate::hasCheckmateMove
static bool hasCheckmateMove(NumEffectState const &state, King8Info canMoveMask, Square king, Move &bestMove)
osl::checkmate::ImmediateCheckmate::hasCheckmateDrop
static bool hasCheckmateDrop(NumEffectState const &state, Square target, King8Info mask, Move &bestMove)
osl::checkmate::King8Info
敵玉の8近傍の状態を表す.
Definition king8Info.h:29
osl::checkmate
Definition king8Info.h:12
osl
Definition additionalEffect.h:6
osl::Ptype
Ptype
駒の種類を4ビットでコード化する
Definition basic_type.h:84
osl::Direction
Direction
Definition basic_type.h:310
osl::Player
Player
Definition basic_type.h:8
numEffectState.h