Classes | |
class | GoldKingAction |
promote不可能な足の短い駒による利きの生成用 Functor More... | |
class | ShortPieceAction |
promote可能な足の短い駒による利きの生成用 Functor More... | |
class | LongPieceAction |
足の長い駒による利きの生成用 Functor More... | |
Functions | |
template<Player P, Ptype T, class Action , bool isPromote> | |
void | generateMove (const NumEffectState &state, Square from, Square target, NearMask nearMask, Action &action) |
template<Player P, Ptype T, class Action > | |
void | generateLongMoveDirectNoPromote (const NumEffectState &state, Square from, Square target, NearMask nearMask, Action &action) |
template<Player P, Ptype T, class Action > | |
void | generateLongMoveDirectCanPromote (const NumEffectState &state, Square from, Square target, NearMask nearMask, Action &action) |
template<bool isAttackToKing> | |
bool | isEmptyOrAdditional (const NumEffectState &state, Square from, Square to, int &count) |
template<Player P, Ptype T, class Action , bool canPromote, bool isAttackToKing> | |
void | generateLongMove (const NumEffectState &state, Square from, Square target, NearMask nearMask, Action &action, int piece_num) |
template<Player P, Ptype T, class Action , bool isLong, bool isAttackToKing> | |
void | generateDrop (const NumEffectState &state, Square target, NearMask nearMask, Action &action) |
void osl::move_generator::without_effect::generateDrop | ( | const NumEffectState & | state, |
Square | target, | ||
NearMask | nearMask, | ||
Action & | action | ||
) |
二歩の禁止
Definition at line 293 of file addEffect_.tcc.
References osl::Board_Table, osl::Piece::isEdge(), osl::isLong(), and osl::PAWN.
void osl::move_generator::without_effect::generateLongMove | ( | const NumEffectState & | state, |
Square | from, | ||
Square | target, | ||
NearMask | nearMask, | ||
Action & | action, | ||
int | piece_num | ||
) |
longのofsetがある
同じlineでも可能性はある
open attack
capture attack
LANCEの場合は直前以外は成ってはダメ
同じlineでない場合 8近傍に移動しての王手
一方向1position
中間地点が範囲外のこともある
一方向2position
一方向3position
Definition at line 106 of file addEffect_.tcc.
References osl::move_generator::Add_Effect_Table, osl::alt(), osl::BISHOP, osl::BLACK, osl::Offset::blackOffset(), osl::Board_Table, osl::Piece::canMoveOn(), osl::canPromote(), osl::Square::canPromote(), count, osl::PtypeTable::getEffect(), osl::BoardTable::getLongDirection(), osl::move_generator::AddEffectTable::getNearMaskLong(), osl::move_generator::AddEffectTable::getNearMaskPBISHOP(), osl::move_generator::AddEffectTable::getNearMaskPROOK(), osl::move_generator::AddEffectTable::getOffsetLong(), osl::move_generator::AddEffectTable::getOffsetPBISHOP(), osl::move_generator::AddEffectTable::getOffsetPROOK(), osl::BoardTable::getShortOffset(), osl::EffectContent::hasEffect(), osl::EffectContent::hasUnblockableEffect(), osl::Piece::isEdge(), osl::Piece::isEmpty(), osl::Piece::isOnBoardByOwner(), osl::LANCE, osl::longToShort(), osl::newPtypeO(), osl::EffectContent::offset(), osl::PBISHOP, osl::PROOK, osl::Ptype_Table, osl::ROOK, target, osl::unpromote(), and osl::Offset::zero().
void osl::move_generator::without_effect::generateLongMoveDirectCanPromote | ( | const NumEffectState & | state, |
Square | from, | ||
Square | target, | ||
NearMask | nearMask, | ||
Action & | action | ||
) |
間がすべて空白
Definition at line 62 of file addEffect_.tcc.
References osl::move_generator::Add_Effect_Table, osl::Board_Table, osl::Square::canPromote(), osl::move_generator::AddEffectTable::getNearMask(), osl::move_generator::AddEffectTable::getNearMaskWithPromote(), and target.
void osl::move_generator::without_effect::generateLongMoveDirectNoPromote | ( | const NumEffectState & | state, |
Square | from, | ||
Square | target, | ||
NearMask | nearMask, | ||
Action & | action | ||
) |
間がすべて空白
Definition at line 44 of file addEffect_.tcc.
References osl::move_generator::Add_Effect_Table, osl::Board_Table, osl::move_generator::AddEffectTable::getNearMask(), and target.
void osl::move_generator::without_effect::generateMove | ( | const NumEffectState & | state, |
Square | from, | ||
Square | target, | ||
NearMask | nearMask, | ||
Action & | action | ||
) |
P(template) | - 攻撃側のプレイヤー |
T(template) | - 攻撃側の駒の種類 |
state | - 局面 |
from | - 攻撃しようとする駒の位置 |
target | - 攻撃しようとするマス すでに攻撃しようとするマスに利きがある場合は何もしない? 当然ながら,自分で動いてもとの位置に利きをつけるなどは考えない |
Definition at line 25 of file addEffect_.tcc.
References osl::move_generator::Add_Effect_Table, osl::Board_Table, osl::Square::canPromote(), osl::move_generator::AddEffectTable::getNearMask(), osl::move_generator::AddEffectTable::getNearMaskWithPromote(), and target.
bool osl::move_generator::without_effect::isEmptyOrAdditional | ( | const NumEffectState & | state, |
Square | from, | ||
Square | to, | ||
int & | count | ||
) |
Definition at line 88 of file addEffect_.tcc.
References osl::Board_Table, osl::BoardTable::getShortOffset(), and osl::Offset::zero().