素抜きがあるため動けない駒を求める. More...
#include <pin.h>
| Static Public Member Functions | |
| static PieceMask | makeNaive (const SimpleState &state, Square target, Player defense) | 
| 8方向計算する方法  More... | |
| static PieceMask | makeByPiece (const NumEffectState &state, Square target, Player defense) | 
| 飛車角は駒の位置から判断する計算方法.  More... | |
| static PieceMask | makeByPieceKing (const NumEffectState &state, Square target, Player defense) | 
| 飛車角は駒の位置から判断, KINGに特化  More... | |
| template<Player Defense, Direction DIR> | |
| static void | findDirectionStep (const NumEffectState &state, Square target, PieceMask &pins) | 
| 駒から8近傍をサーチしていって,その方向の利きがあるか?  More... | |
| template<Player Defense> | |
| static PieceMask | makeStep (const NumEffectState &state, Square target) | 
| static PieceMask | makeStep (const NumEffectState &state, Square target, Player defense) | 
| template<Player Defense> | |
| static PieceMask | makeStep1 (const NumEffectState &state, Square target) | 
| static PieceMask | makeStep1 (const NumEffectState &state, Square target, Player defense) | 
| static PieceMask | make (const NumEffectState &state, Square target, Player defense) | 
| pin されている駒を計算する  More... | |
| static PieceMask | make (const NumEffectState &state, Player defense) | 
| defense の王を守るために pin されている駒を計算する  More... | |
| static PieceMask | makeNaive (const SimpleState &state, Player defense) | 
| static PieceMask | makeByPiece (const NumEffectState &state, Player defense) | 
| static int | count (const NumEffectState &state, Player defense) | 
| defense の王について pin されている駒を計算する  More... | |
| static int | count (const NumEffectState &state, Square target, Player defense) | 
| Static Private Member Functions | |
| template<Direction DIR> | |
| static void | findDirection (const SimpleState &state, Square target, Player defense, PieceMask &pins) | 
| template<Player P> | |
| static void | findLance (const NumEffectState &state, Square target, PieceMask &pins) | 
| targetにはdefenseのKINGがあるという前提 Pはdefense targetにdefenseのlanceがあると働かない.  More... | |
| static bool | hasEffectWithOffset (const SimpleState &state, Piece attack_piece, Piece pin, Offset diff) | 
| static bool | hasEffectWithOffset (const NumEffectState &state, Piece attack_piece, Piece pin, Offset) | 
| static void | findOffset (const NumEffectState &state, Piece attack_piece, Square target, Player defense, Offset diff, PieceMask &pins) | 
| template<Ptype PTYPE> | |
| static void | findPtype (const NumEffectState &state, Square target, Player attack, Player defense, PieceMask &result) | 
| 
 | inlinestatic | 
| 
 | inlinestatic | 
Definition at line 285 of file effect_util/pin.h.
References make().
| 
 | inlinestaticprivate | 
Definition at line 73 of file effect_util/pin.h.
References osl::alt(), osl::Board_Table, osl::PtypeTable::getMoveMask(), osl::BoardTable::getOffset(), osl::Piece::isOnBoardByOwner(), osl::Piece::number(), osl::Piece::ptype(), osl::Ptype_Table, and osl::Piece::square().
| 
 | inlinestatic | 
駒から8近傍をサーチしていって,その方向の利きがあるか?
Definition at line 186 of file effect_util/pin.h.
References osl::BLACK, osl::DirectionTraits< Dir >::blackOffset(), osl::Piece::isEdgeNum(), osl::Piece::isEmptyNum(), and osl::Piece::isPieceNum().
| 
 | inlinestaticprivate | 
targetにはdefenseのKINGがあるという前提 Pはdefense targetにdefenseのlanceがあると働かない.
Definition at line 91 of file effect_util/pin.h.
References osl::Piece::EMPTY(), osl::Piece::isOnBoardByOwner(), and osl::Piece::number().
| 
 | inlinestaticprivate | 
Definition at line 127 of file effect_util/pin.h.
References hasEffectWithOffset(), osl::Piece::isPiece(), osl::Piece::number(), and osl::Piece::owner().
Referenced by findPtype().
| 
 | inlinestaticprivate | 
Definition at line 140 of file effect_util/pin.h.
References osl::BISHOP, osl::BOOST_STATIC_ASSERT(), findOffset(), osl::PtypeTable::getEffect(), osl::EffectContent::hasBlockableEffect(), osl::Piece::isOnBoardByOwner(), osl::newPtypeO(), osl::EffectContent::offset(), osl::Ptype_Table, osl::ROOK, osl::Piece::square(), and osl::Offset::zero().
| 
 | inlinestaticprivate | 
Definition at line 116 of file effect_util/pin.h.
References osl::Piece::square().
Referenced by findOffset().
| 
 | inlinestaticprivate | 
Definition at line 122 of file effect_util/pin.h.
References osl::Piece::square().
| 
 | inlinestatic | 
pin されている駒を計算する
| target | 守るマス | 
| defense | pin されている駒の所有者 | 
Definition at line 257 of file effect_util/pin.h.
References makeByPiece().
Referenced by count(), osl::state::NumEffectState::isConsistent(), and test_position().
| 
 | inlinestatic | 
defense の王を守るために pin されている駒を計算する
Definition at line 265 of file effect_util/pin.h.
References makeByPiece().
| 
 | static | 
飛車角は駒の位置から判断する計算方法.
Definition at line 24 of file effect_util/pin.cc.
References osl::alt(), osl::Square::isOnBoard(), result, and target.
Referenced by make().
| 
 | inlinestatic | 
Definition at line 273 of file effect_util/pin.h.
References makeByPieceKing().
| 
 | static | 
飛車角は駒の位置から判断, KINGに特化
Definition at line 39 of file effect_util/pin.cc.
References osl::alt(), osl::BLACK, osl::Square::isOnBoard(), result, and target.
Referenced by makeByPiece().
| 
 | static | 
8方向計算する方法
Definition at line 7 of file effect_util/pin.cc.
References osl::Square::isOnBoard(), result, and target.
Referenced by makeNaive().
| 
 | inlinestatic | 
Definition at line 269 of file effect_util/pin.h.
References makeNaive().
| 
 | inlinestatic | 
Definition at line 213 of file effect_util/pin.h.
References target.
| 
 | inlinestatic | 
Definition at line 227 of file effect_util/pin.h.
References osl::BLACK, and target.
| 
 | inlinestatic | 
Definition at line 236 of file effect_util/pin.h.
References target.
| 
 | inlinestatic | 
Definition at line 243 of file effect_util/pin.h.
References osl::BLACK, and target.
 1.8.4
 1.8.4