osl::move_generator::without_effect Namespace Reference

- Main Page
- Namespaces
- Classes
- Files

- Namespace List
- Namespace Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Classes | Functions
osl::move_generator::without_effect Namespace Reference

## 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)

## Function Documentation

template<Player P, Ptype T, class Action , bool isLong, bool isAttackToKing>

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.

template<Player P, Ptype T, class Action , bool canPromote, bool isAttackToKing>

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().

template<Player P, Ptype T, class Action >

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.

template<Player P, Ptype T, class Action >

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.

template<Player P, Ptype T, class Action , bool isPromote>

void osl::move_generator::without_effect::generateMove | ( | const NumEffectState & | state,
|  | Square | from,
|  | Square | target,
|  | NearMask | nearMask,
|  | Action & | action
| ) |  |

Parameters

  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.

template<bool isAttackToKing>

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().