長い利きをブロックする手の判定. [詳細]
#include <blockLongEffect.h>
Static Public メソッド | |
static bool | isMember (NumEffectState const &state, Ptype, Position, Position to) |
相手の長い駒をブロックする手. |
長い利きをブロックする手の判定.
P | - 動かす側のプレイヤー | |
T | - ブロックする駒の種類(ROOK,BISHOP,LANCE) |
blockLongEffect.h の 18 行で定義されています。
static bool osl::move_classifier::BlockLongEffect< P, T >::isMember | ( | NumEffectState const & | state, | |
Ptype | , | |||
Position | , | |||
Position | to | |||
) | [inline, static] |
相手の長い駒をブロックする手.
もともとブロックしている場合も近づくならtrueにする 盤端(相手の駒の前)でのブロックはブロックに入れない 駒を取る手はブロックに入れない 複数の駒をブロックする時は条件を満たすものを探すまで全部調べる
state | - 動かす前の盤面 | |
ptype | - 動かす駒の移動後のptype | |
from | - 動かす駒の移動前の位置 | |
to | - 動かす駒の移動後の位置 |
blockLongEffect.h の 31 行で定義されています。
参照先 osl::Board_Table, osl::BOOST_STATIC_ASSERT(), osl::BoardTable::getShortOffset(), osl::Piece::isEdge(), osl::Piece::isPiece(), osl::Piece::owner(), osl::Piece::position(), osl::Piece::ptype(), と osl::unpromote().