#include <addEffectTable.h>
Public メソッド | |
AddEffectTable () | |
template<Player P> | |
NearMask | getNearMask (Ptype ptype, Position from, Position to) const |
template<Player P> | |
NearMask | getNearMaskWithPromote (Ptype ptype, Position from, Position to) const |
template<Player P> | |
NearMask | getNearMaskLong (Ptype ptype, Position from, Position to) const |
template<Player P> | |
Offset | getOffsetLong (Ptype ptype, Position from, Position to, int n) const |
template<Player P> | |
NearMask | getNearMaskPBISHOP (Position from, Position to) const |
template<Player P> | |
Offset | getOffsetPBISHOP (Position from, Position to, int n) const |
template<Player P> | |
NearMask | getNearMaskPROOK (Position from, Position to) const |
template<Player P> | |
Offset | getOffsetPROOK (Position from, Position to, int n) const |
Private メソッド | |
void | setNearMaskLong (Ptype ptype, int dx, int dy) |
offsetForBlack pos - from | |
Private 変数 | |
CArray2d< NearMask, PTYPE_SIZE, Offset32::SIZE > | nearMask |
CArray2d< NearMask, PTYPE_SIZE, Offset32::SIZE > | nearMaskWithPromote |
CArray2d< NearMask, PTYPE_SIZE, Offset32::SIZE > | nearMaskLong |
CArray3d< Offset, PTYPE_SIZE, Offset32::SIZE, 8 > | offsetLong |
¤ 4 bit * 8 Υơ֥ˤΤä | |
CArray< NearMask, Offset32::SIZE > | nearMaskPBISHOP |
CArray2d< Offset, Offset32::SIZE, 8 > | offsetPBISHOP |
CArray< NearMask, Offset32::SIZE > | nearMaskPROOK |
CArray2d< Offset, Offset32::SIZE, 8 > | offsetPROOK |
addEffectTable.h の 19 行で定義されています。
osl::move_generator::AddEffectTable::AddEffectTable | ( | ) |
addEffectTable.cc の 127 行で定義されています。
参照先 osl::canPromote(), osl::PtypeTable::hasLongMove(), osl::Offset32::index(), nearMask, nearMaskLong, osl::nearMaskOf(), nearMaskPBISHOP, nearMaskPROOK, nearMaskWithPromote, offsetLong, offsetPBISHOP, offsetPROOK, osl::PTYPE_MAX, osl::PTYPE_PIECE_MIN, osl::Ptype_Table, と setNearMaskLong().
void osl::move_generator::AddEffectTable::setNearMaskLong | ( | Ptype | ptype, | |
int | dx, | |||
int | dy | |||
) | [private] |
offsetForBlack pos - from
ʬưƸΥޥĤʤ
ûϼʤ
offset3non-nullǤϤoffsetΤȤ
ptype==PBISHOP)
addEffectTable.cc の 53 行で定義されています。
参照先 osl::BLACK, osl::Board_Table, osl::dirToMask(), osl::BoardTable::getDxForBlack(), osl::BoardTable::getDyForBlack(), osl::PtypeTable::getEffect(), osl::BoardTable::getLongDirection(), osl::PtypeTable::getMoveMask(), osl::BoardTable::getShortOffset(), osl::EffectContent::hasUnblockableEffect(), osl::Offset32::index(), osl::isShort(), osl::longToShort(), nearMaskLong, nearMaskPBISHOP, nearMaskPROOK, osl::newOffset(), osl::newPtypeO(), offsetLong, offsetPBISHOP, offsetPROOK, osl::PBISHOP, osl::PROOK, osl::Ptype_Table, osl::SHORT_DIRECTION_MAX, osl::shortToLong(), と osl::Offset::zero().
参照元 AddEffectTable().
NearMask osl::move_generator::AddEffectTable::getNearMask | ( | Ptype | ptype, | |
Position | from, | |||
Position | to | |||
) | const [inline] |
P(template) | - ֤Υץ쥤䡼 | |
ptype | - ưȤμ | |
from | - ưȤΰ | |
to | - Ĥޥ |
addEffectTable.h の 40 行で定義されています。
参照先 osl::Position::isOnBoard(), osl::isValid(), と nearMask.
参照元 osl::move_generator::without_effect::generateLongMoveDirectCanPromote(), osl::move_generator::without_effect::generateLongMoveDirectNoPromote(), と osl::move_generator::without_effect::generateMove().
NearMask osl::move_generator::AddEffectTable::getNearMaskLong | ( | Ptype | ptype, | |
Position | from, | |||
Position | to | |||
) | const [inline] |
addEffectTable.h の 52 行で定義されています。
参照先 osl::Position::isOnBoard(), osl::isValid(), と nearMaskLong.
参照元 osl::move_generator::without_effect::generateLongMove().
Offset osl::move_generator::AddEffectTable::getOffsetLong | ( | Ptype | ptype, | |
Position | from, | |||
Position | to, | |||
int | n | |||
) | const [inline] |
addEffectTable.h の 58 行で定義されています。
参照先 osl::Position::isOnBoard(), osl::isValid(), と offsetLong.
参照元 osl::move_generator::without_effect::generateLongMove().
NearMask osl::move_generator::AddEffectTable::getNearMaskPBISHOP | ( | Position | from, | |
Position | to | |||
) | const [inline] |
addEffectTable.h の 66 行で定義されています。
参照先 osl::Position::isOnBoard(), と nearMaskPBISHOP.
参照元 osl::move_generator::without_effect::generateLongMove().
Offset osl::move_generator::AddEffectTable::getOffsetPBISHOP | ( | Position | from, | |
Position | to, | |||
int | n | |||
) | const [inline] |
addEffectTable.h の 72 行で定義されています。
参照先 osl::Position::isOnBoard(), と offsetPBISHOP.
参照元 osl::move_generator::without_effect::generateLongMove().
NearMask osl::move_generator::AddEffectTable::getNearMaskPROOK | ( | Position | from, | |
Position | to | |||
) | const [inline] |
addEffectTable.h の 79 行で定義されています。
参照先 osl::Position::isOnBoard(), と nearMaskPROOK.
参照元 osl::move_generator::without_effect::generateLongMove().
Offset osl::move_generator::AddEffectTable::getOffsetPROOK | ( | Position | from, | |
Position | to, | |||
int | n | |||
) | const [inline] |
addEffectTable.h の 85 行で定義されています。
参照先 osl::Position::isOnBoard(), と offsetPROOK.
参照元 osl::move_generator::without_effect::generateLongMove().
CArray2d<NearMask, PTYPE_SIZE, Offset32::SIZE> osl::move_generator::AddEffectTable::nearMask [private] |
CArray2d<NearMask, PTYPE_SIZE, Offset32::SIZE> osl::move_generator::AddEffectTable::nearMaskWithPromote [private] |
CArray2d<NearMask, PTYPE_SIZE, Offset32::SIZE> osl::move_generator::AddEffectTable::nearMaskLong [private] |
CArray3d<Offset,PTYPE_SIZE,Offset32::SIZE,8> osl::move_generator::AddEffectTable::offsetLong [private] |
CArray<NearMask,Offset32::SIZE> osl::move_generator::AddEffectTable::nearMaskPBISHOP [private] |
CArray2d<Offset,Offset32::SIZE,8> osl::move_generator::AddEffectTable::offsetPBISHOP [private] |
CArray<NearMask,Offset32::SIZE> osl::move_generator::AddEffectTable::nearMaskPROOK [private] |
CArray2d<Offset,Offset32::SIZE,8> osl::move_generator::AddEffectTable::offsetPROOK [private] |