osl::mobility::RookMobility Struct Reference

盤上の飛車および竜の動けるマス More...

`#include <rookMobility.h>`

## Static Public Member Functions

template<Player P>
static void | countVerticalBoth (const NumEffectState &state, Piece p, int &countAll, int &countSafe)
| 縦方向， P : 駒pの持ち主 countAll : 利きに関係なく動けるマス countSafe : 相手の利きがない動けるマス 両方を求める
static void | countVerticalBoth (Player pl, const NumEffectState &state, Piece p, int &countAll, int &countSafe)
template<Player P>
static int | countVerticalAll (const NumEffectState &state, int num)
| 縦方向，利きに関係なく動けるマスの数
template<Player P>
static int | countVerticalAll (const NumEffectState &state, Piece p)
static int | countVerticalAll (Player pl, const NumEffectState &state, Piece p)
template<Player P>
static int | countVerticalSafe (const NumEffectState &state, Piece p)
| 縦方向，相手の利きがない動けるマスを求める
static int | countVerticalSafe (Player pl, const NumEffectState &state, Piece p)
template<Player P>
static void | countHorizontalBoth (const NumEffectState &state, Piece p, int &countAll, int &countSafe)
| 横方向， P : 駒pの持ち主 countAll : 利きに関係なく動けるマス countSafe : 相手の利きがない動けるマス 両方を求める
static void | countHorizontalBoth (Player pl, const NumEffectState &state, Piece p, int &countAll, int &countSafe)
template<Player P>
static int | countHorizontalAll (const NumEffectState &state, int num)
template<Player P>
static int | countHorizontalAll (const NumEffectState &state, Piece p)
| 横方向，利きに関係なく動けるマスの数
static int | countHorizontalAll (Player pl, const NumEffectState &state, Piece p)
template<Player P>
static int | countHorizontalSafe (const NumEffectState &state, Piece p)
| 横方向，相手の利きがない動けるマスを求める
static int | countHorizontalSafe (Player pl, const NumEffectState &state, Piece p)

## Detailed Description

盤上の飛車および竜の動けるマス

Definition at line 15 of file rookMobility.h.

## Member Function Documentation

## countHorizontalAll() [1/3]

template<Player P>

int osl::mobility::RookMobility::countHorizontalAll | ( | const NumEffectState & | state,
|  | int | num )

inline static

Definition at line 103 of file rookMobility.h.

References osl::L, osl::NumEffectState::mobilityOf(), osl::SimpleState::pieceAt(), osl::R, and osl::Square::x().

Referenced by countHorizontalAll(), countHorizontalAll(), osl::eval::ml::RookMobilityAll::eval(), and osl::eval::ml::RookPromoteDefense::eval().

## countHorizontalAll() [2/3]

template<Player P>

int osl::mobility::RookMobility::countHorizontalAll | ( | const NumEffectState & | state,
|  | Piece | p )

inline static

横方向，利きに関係なく動けるマスの数

Definition at line 116 of file rookMobility.h.

References countHorizontalAll(), and osl::Piece::number().

## countHorizontalAll() [3/3]

int osl::mobility::RookMobility::countHorizontalAll | ( | Player | pl,
|  | const NumEffectState & | state,
|  | Piece | p )

inline static

Definition at line 119 of file rookMobility.h.

References osl::BLACK, and countHorizontalAll().

## countHorizontalBoth() [1/2]

template<Player P>

void osl::mobility::RookMobility::countHorizontalBoth | ( | const NumEffectState & | state,
|  | Piece | p,
|  | int & | countAll,
|  | int & | countSafe )

inline static

横方向， P : 駒pの持ち主 countAll : 利きに関係なく動けるマス countSafe : 相手の利きがない動けるマス 両方を求める

Definition at line 87 of file rookMobility.h.

References osl::mobility::countMobilityBoth(), osl::Piece::isOnBoard(), osl::Piece::owner(), osl::PROOK, osl::Piece::ptype(), osl::ROOK, and osl::Piece::square().

Referenced by countHorizontalBoth().

## countHorizontalBoth() [2/2]

void osl::mobility::RookMobility::countHorizontalBoth | ( | Player | pl,
|  | const NumEffectState & | state,
|  | Piece | p,
|  | int & | countAll,
|  | int & | countSafe )

inline static

Definition at line 95 of file rookMobility.h.

References osl::BLACK, and countHorizontalBoth().

## countHorizontalSafe() [1/2]

template<Player P>

int osl::mobility::RookMobility::countHorizontalSafe | ( | const NumEffectState & | state,
|  | Piece | p )

inline static

横方向，相手の利きがない動けるマスを求める

Definition at line 129 of file rookMobility.h.

References osl::mobility::countMobilitySafe(), and osl::Piece::square().

Referenced by countHorizontalSafe().

## countHorizontalSafe() [2/2]

int osl::mobility::RookMobility::countHorizontalSafe | ( | Player | pl,
|  | const NumEffectState & | state,
|  | Piece | p )

inline static

Definition at line 135 of file rookMobility.h.

References osl::BLACK, and countHorizontalSafe().

## countVerticalAll() [1/3]

template<Player P>

int osl::mobility::RookMobility::countVerticalAll | ( | const NumEffectState & | state,
|  | int | num )

inline static

縦方向，利きに関係なく動けるマスの数

Definition at line 44 of file rookMobility.h.

References osl::D, osl::NumEffectState::mobilityOf(), osl::SimpleState::pieceAt(), osl::U, and osl::Square::y().

Referenced by countVerticalAll(), countVerticalAll(), and osl::eval::ml::RookMobilityAll::eval().

## countVerticalAll() [2/3]

template<Player P>

int osl::mobility::RookMobility::countVerticalAll | ( | const NumEffectState & | state,
|  | Piece | p )

inline static

Definition at line 54 of file rookMobility.h.

References countVerticalAll(), and osl::Piece::number().

## countVerticalAll() [3/3]

int osl::mobility::RookMobility::countVerticalAll | ( | Player | pl,
|  | const NumEffectState & | state,
|  | Piece | p )

inline static

Definition at line 57 of file rookMobility.h.

References osl::BLACK, and countVerticalAll().

## countVerticalBoth() [1/2]

template<Player P>

void osl::mobility::RookMobility::countVerticalBoth | ( | const NumEffectState & | state,
|  | Piece | p,
|  | int & | countAll,
|  | int & | countSafe )

inline static

縦方向， P : 駒pの持ち主 countAll : 利きに関係なく動けるマス countSafe : 相手の利きがない動けるマス 両方を求める

Definition at line 26 of file rookMobility.h.

References osl::mobility::countMobilityBoth(), osl::Piece::isOnBoard(), osl::Piece::owner(), osl::PROOK, osl::Piece::ptype(), osl::ROOK, and osl::Piece::square().

Referenced by countVerticalBoth().

## countVerticalBoth() [2/2]

void osl::mobility::RookMobility::countVerticalBoth | ( | Player | pl,
|  | const NumEffectState & | state,
|  | Piece | p,
|  | int & | countAll,
|  | int & | countSafe )

inline static

Definition at line 34 of file rookMobility.h.

References osl::BLACK, and countVerticalBoth().

## countVerticalSafe() [1/2]

template<Player P>

int osl::mobility::RookMobility::countVerticalSafe | ( | const NumEffectState & | state,
|  | Piece | p )

inline static

縦方向，相手の利きがない動けるマスを求める

Definition at line 67 of file rookMobility.h.

References osl::mobility::countMobilitySafe(), and osl::Piece::square().

Referenced by countVerticalSafe().

## countVerticalSafe() [2/2]

int osl::mobility::RookMobility::countVerticalSafe | ( | Player | pl,
|  | const NumEffectState & | state,
|  | Piece | p )

inline static

Definition at line 73 of file rookMobility.h.

References osl::BLACK, and countVerticalSafe().

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

- rookMobility.h