All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Static Public Member Functions | List of all members
osl::move_classifier::BlockLongEffect< P, T > Struct Template Reference

長い利きをブロックする手の判定. More...

#include <blockLongEffect.h>

Static Public Member Functions

static bool isMember (NumEffectState const &state, Ptype, Square, Square to)
 相手の長い駒をブロックする手. More...
 

Detailed Description

template<Player P, Ptype T>
struct osl::move_classifier::BlockLongEffect< P, T >

長い利きをブロックする手の判定.

Parameters
P- 動かす側のプレイヤー
T- ブロックする駒の種類(ROOK,BISHOP,LANCE)

Definition at line 18 of file blockLongEffect.h.

Member Function Documentation

template<Player P, Ptype T>
static bool osl::move_classifier::BlockLongEffect< P, T >::isMember ( NumEffectState const &  state,
Ptype  ,
Square  ,
Square  to 
)
inlinestatic

相手の長い駒をブロックする手.

もともとブロックしている場合も近づくならtrueにする 盤端(相手の駒の前)でのブロックはブロックに入れない 駒を取る手はブロックに入れない 複数の駒をブロックする時は条件を満たすものを探すまで全部調べる

Parameters
state- 動かす前の盤面
ptype- 動かす駒の移動後のptype
from- 動かす駒の移動前の位置
to- 動かす駒の移動後の位置

Definition at line 35 of file blockLongEffect.h.

References osl::Board_Table, osl::BOOST_STATIC_ASSERT(), osl::BoardTable::getShortOffset(), osl::Piece::isEdge(), osl::Piece::isPiece(), osl::Piece::owner(), osl::Piece::ptype(), osl::Piece::square(), and osl::unpromote().

Referenced by osl::move_classifier::BlockLongAny< P >::isMember().


The documentation for this struct was generated from the following file: