構成 | 型定義 | 関数

ネームスペース osl::mobility

構成

struct  BishopMobility
 盤上の角および馬が動けるマスの数を数える [詳細]
class  KingMobility
struct  LanceMobility
 盤上の香車の動けるマス [詳細]
union  V4
class  MobilityContent
 駒毎に指定の方向の利きを持つ最後のSquare. [詳細]
class  MobilityTable
 駒番号からMobilityContentを得る [詳細]
struct  RookMobility
 盤上の飛車および竜の動けるマス [詳細]

型定義

typedef long long v2di __attribute__ ((vector_size(16)))

関数

template<Player P, bool All, bool Safe>
void countMobilityBoth (const NumEffectState &state, Square pos, Offset o, int &countAll, int &countSafe)
 P : 駒pの持ち主 All : countAllを求めるかどうか? Safe : countAllを求めるかどうか? countAll : 利きに関係なく動けるマス countSafe : 相手の利きがない動けるマス 両方を求める.
void countMobilityBoth (Player P, const NumEffectState &state, Square pos, Offset o, int &countAll, int &countSafe)
int countMobilityAll (Player pl, const NumEffectState &state, Square pos, Offset o)
 利きに関係なく動けるマスの数
int countMobilitySafe (Player pl, const NumEffectState &state, Square pos, Offset o)
 相手の利きがない動けるマスを求める
std::ostream & operator<< (std::ostream &os, MobilityContent const &mc)
std::ostream & operator<< (std::ostream &os, MobilityTable const &mt)
bool operator== (const MobilityTable &, const MobilityTable &)

型定義

typedef long long v2di osl::mobility::__attribute__((vector_size(16)))

kingMobility.h22 行で定義されています。


関数

int osl::mobility::countMobilityAll ( Player  pl,
const NumEffectState &  state,
Square  pos,
Offset  o 
) [inline]

利きに関係なく動けるマスの数

countMobility.h44 行で定義されています。

参照先 osl::BLACK.

void osl::mobility::countMobilityBoth ( Player  P,
const NumEffectState &  state,
Square  pos,
Offset  o,
int &  countAll,
int &  countSafe 
) [inline]

countMobility.h35 行で定義されています。

参照先 osl::BLACK.

template<Player P, bool All, bool Safe>
void osl::mobility::countMobilityBoth ( const NumEffectState &  state,
Square  pos,
Offset  o,
int &  countAll,
int &  countSafe 
) [inline]

P : 駒pの持ち主 All : countAllを求めるかどうか? Safe : countAllを求めるかどうか? countAll : 利きに関係なく動けるマス countSafe : 相手の利きがない動けるマス 両方を求める.

countMobility.h20 行で定義されています。

参照先 osl::alt(), osl::NumEffectState::hasEffectAt(), osl::Square::isOnBoard(), osl::SimpleState::pieceAt(), と osl::Offset::zero().

参照元 osl::mobility::LanceMobility::countBoth(), osl::mobility::RookMobility::countHorizontalBoth(), と osl::mobility::RookMobility::countVerticalBoth().

int osl::mobility::countMobilitySafe ( Player  pl,
const NumEffectState &  state,
Square  pos,
Offset  o 
) [inline]
std::ostream & osl::mobility::operator<< ( std::ostream &  os,
MobilityContent const &  mc 
)

mobilityTable.cc28 行で定義されています。

参照先 osl::mobility::MobilityContent::get().

std::ostream & osl::mobility::operator<< ( std::ostream &  os,
MobilityTable const &  mt 
)

mobilityTable.cc35 行で定義されています。

参照先 osl::mobility::MobilityTable::get().

bool osl::mobility::operator== ( const MobilityTable &  mt1,
const MobilityTable &  mt2 
)

mobilityTable.cc49 行で定義されています。

参照先 osl::mobility::MobilityTable::get().

 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義