osl::effect_util::AdditionalEffect Struct Reference

- Main Page
- Namespaces
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Static Private Member Functions | List of all members
osl::effect_util::AdditionalEffect Struct Reference

追加利きを求める More...

`#include <additionalEffect.h>`

## Public Member Functions
template<int count_max>
int | count (const NumEffectState &state, Square target, Player attack)

## Static Public Member Functions
static bool | hasEffect (const NumEffectState &, Square target, Player attack)
| target に attack の追加利きが一つでもあるか． 相手の影利きが先にある場合は対象としない． More...
static bool | hasEffectStable (const NumEffectState &, Square target, Player attack)
static int | count2 (const NumEffectState &, Square target, Player attack)
| target に attack の追加利きを二つまで数える. More...
static void | find (const NumEffectState &, Square target, PieceVector &black, PieceVector &white)
| target に対する追加利きのある Piece を black, white に求める. More...
static void | count (const NumEffectState &, Square target, int &black, int &white)
static int | count (const NumEffectState &state, Player pl, Square target)

## Static Private Member Functions
static void | find (const NumEffectState &, Square target, const PieceVector &direct_effects, PieceVector &black, PieceVector &white)
template<int count_max>
static int | count (const NumEffectState &, Square target, Player attack)

## Detailed Description

追加利きを求める

Definition at line 16 of file additionalEffect.h.

## Member Function Documentation

template<int count_max>

static int osl::effect_util::AdditionalEffect::count | ( | const NumEffectState & | ,
|  | Square | target,
|  | Player | attack
| ) |  |
| staticprivate

Referenced by count().

template<int count_max>

int osl::effect_util::AdditionalEffect::count | ( | const NumEffectState & | state,
|  | Square | target,
|  | Player | attack
| ) |  |

Definition at line 29 of file additionalEffect.cc.

References target.

void osl::effect_util::AdditionalEffect::count | ( | const NumEffectState & | state,
|  | Square | target,
|  | int & | black,
|  | int & | white
| ) |  |
| static

Definition at line 99 of file additionalEffect.cc.

References osl::find().

static int osl::effect_util::AdditionalEffect::count | ( | const NumEffectState & | state,
|  | Player | pl,
|  | Square | target
| ) |  |
| inlinestatic

Definition at line 48 of file additionalEffect.h.

References osl::BLACK, and count().

int osl::effect_util::AdditionalEffect::count2 | ( | const NumEffectState & | state,
|  | Square | target,
|  | Player | attack
| ) |  |
| static

target に attack の追加利きを二つまで数える.

相手の影利きの駒以降は対象としない．

Definition at line 46 of file additionalEffect.cc.

References target.

void osl::effect_util::AdditionalEffect::find | ( | const NumEffectState & | state,
|  | Square | target,
|  | const PieceVector & | direct_effects,
|  | PieceVector & | black,
|  | PieceVector & | white
| ) |  |
| staticprivate

Definition at line 53 of file additionalEffect.cc.

References osl::BLACK, osl::Board_Table, osl::PtypeTable::getEffect(), osl::BoardTable::getShortOffsetNotKnight(), osl::EffectContent::hasEffect(), osl::Piece::isPiece(), osl::Piece::owner(), osl::Ptype_Table, osl::Piece::ptypeO(), osl::Piece::square(), and osl::Offset::zero().

void osl::effect_util::AdditionalEffect::find | ( | const NumEffectState & | state,
|  | Square | target,
|  | PieceVector & | black,
|  | PieceVector & | white
| ) |  |
| static

target に対する追加利きのある Piece を black, white に求める.

[*] +KI -HI +HI の場合，-HIも+HIもカウント.

Definition at line 86 of file additionalEffect.cc.

References osl::BLACK, osl::find(), and osl::WHITE.

bool osl::effect_util::AdditionalEffect::hasEffect | ( | const NumEffectState & | state,
|  | Square | target,
|  | Player | attack
| ) |  |
| static

target に attack の追加利きが一つでもあるか． 相手の影利きが先にある場合は対象としない．

Definition at line 8 of file additionalEffect.cc.

References osl::BLACK, osl::Board_Table, osl::BoardTable::getShort8(), osl::KNIGHT, osl::Square::square, and target.

Referenced by osl::checkmate::ProofNumberTable::countLiberty(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDir(), and osl::checkmate::King8Info::moveCandidateDir().

bool osl::effect_util::AdditionalEffect::hasEffectStable | ( | const NumEffectState & | state,
|  | Square | target,
|  | Player | attack
| ) |  |
| static

Definition at line 39 of file additionalEffect.cc.

References target.

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

- additionalEffect.h
- additionalEffect.cc