Public メソッド | Static Public メソッド | Private メソッド | Private 変数

クラス osl::PtypeTable

#include <ptypeTable.h>

osl::PtypeTableのコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

Public メソッド

 PtypeTable ()
unsigned int getShortMoveMask (Player p, PtypeO ptypeo, Direction dir) const
mask_t getMaskLow (Ptype ptype) const
int getIndex (Ptype) const
bool hasLongMove (Ptype ptype) const
 遅くて良い?
bool isBetterToPromote (Ptype ptype) const
int getCanDropLimit (Player player, Ptype ptype) const
bool canDropTo (Player pl, Ptype ptype, Square pos) const
const char * getName (Ptype ptype) const
const char * getCsaName (Ptype ptype) const
int getMoveMask (Ptype ptype) const
int getIndexMin (Ptype ptype) const
int getIndexLimit (Ptype ptype) const
const EffectContent getEffect (PtypeO ptypeo, Square from, Square to) const
 fromにいるptypeoがtoに利きを持つか?
const EffectContentgetEffect (PtypeO ptypeo, Offset32 offset32) const
const EffectContent getEffectNotLongU (PtypeO ptypeo, Square from, Square to) const
 ptypeo が,自分から offset のところに効きを持つか? U除く
bool hasUnblockableEffect (PtypeO attacker, Square from, Square to) const

Static Public メソッド

static int getKingIndex (Player p)

Private メソッド

template<Ptype T>
void initPtypeSub (Int2Type< false > isBasic)
template<Ptype T>
void initPtypeSub (Int2Type< true > isBasic)
template<Ptype T>
void initPtype ()
void init ()
EffectContenteffect (PtypeO ptypeo, Offset32 offset32)

Private 変数

CArray< mask_t, PTYPE_SIZEnumMaskLows
CArray< int, PTYPE_SIZEnumIndices
CArray< const char *, PTYPE_SIZEnames
CArray< const char *, PTYPE_SIZEcsaNames
CArray< bool, PTYPE_SIZEbetterToPromote
CArray< int, PTYPE_SIZEmoveMasks
CArray< int, PTYPE_SIZEindexMins
CArray< int, PTYPE_SIZEindexLimits
CArray2d< int, 2, PTYPE_SIZEcanDropLimit
CArray2d< EffectContent,
PTYPEO_SIZE, Offset32::SIZE
effectTable
CArray2d< EffectContent,
PTYPEO_SIZE, Offset32::SIZE
effectTableNotLongU
CArray2d< unsigned int,
2, SHORT_DIRECTION_SIZE > 
shortMoveMask

説明

ptypeTable.h15 行で定義されています。


コンストラクタとデストラクタ

osl::PtypeTable::PtypeTable (  ) 

関数

bool osl::PtypeTable::canDropTo ( Player  pl,
Ptype  ptype,
Square  pos 
) const [inline]
EffectContent& osl::PtypeTable::effect ( PtypeO  ptypeo,
Offset32  offset32 
) [inline, private]
int osl::PtypeTable::getCanDropLimit ( Player  player,
Ptype  ptype 
) const [inline]

ptypeTable.h62 行で定義されています。

参照先 canDropLimit, osl::isPromoted(), osl::isValid(), と osl::playerToIndex().

参照元 canDropTo().

const char* osl::PtypeTable::getCsaName ( Ptype  ptype  )  const [inline]
const EffectContent osl::PtypeTable::getEffect ( PtypeO  ptypeo,
Square  from,
Square  to 
) const [inline]
const EffectContent& osl::PtypeTable::getEffect ( PtypeO  ptypeo,
Offset32  offset32 
) const [inline]

ptypeTable.h117 行で定義されています。

参照先 effectTable, osl::Offset32Base< Width, Width2 >::index(), と osl::isValidPtypeO().

const EffectContent osl::PtypeTable::getEffectNotLongU ( PtypeO  ptypeo,
Square  from,
Square  to 
) const [inline]

ptypeo が,自分から offset のところに効きを持つか? U除く

ptypeTable.h133 行で定義されています。

参照先 effectTableNotLongU, osl::Square::isOnBoard(), と osl::isValidPtypeO().

int osl::PtypeTable::getIndex ( Ptype   )  const [inline]
int osl::PtypeTable::getIndexLimit ( Ptype  ptype  )  const [inline]
int osl::PtypeTable::getIndexMin ( Ptype  ptype  )  const [inline]
static int osl::PtypeTable::getKingIndex ( Player  p  )  [inline, static]

ptypeTable.h98 行で定義されています。

参照先 osl::BLACK, と osl::isValid().

mask_t osl::PtypeTable::getMaskLow ( Ptype  ptype  )  const [inline]
int osl::PtypeTable::getMoveMask ( Ptype  ptype  )  const [inline]
const char* osl::PtypeTable::getName ( Ptype  ptype  )  const [inline]

ptypeTable.h76 行で定義されています。

参照先 names.

参照元 osl::operator<<().

unsigned int osl::PtypeTable::getShortMoveMask ( Player  p,
PtypeO  ptypeo,
Direction  dir 
) const [inline]

ptypeTable.h41 行で定義されています。

参照先 osl::playerToIndex(), osl::PTYPEO_MIN, と shortMoveMask.

bool osl::PtypeTable::hasLongMove ( Ptype  ptype  )  const [inline]
bool osl::PtypeTable::hasUnblockableEffect ( PtypeO  attacker,
Square  from,
Square  to 
) const [inline]

ptypeTable.h140 行で定義されています。

参照先 effect(), getEffect(), と osl::EffectContent::hasUnblockableEffect().

void osl::PtypeTable::init (  )  [private]
template<osl::Ptype T>
void osl::PtypeTable::initPtype (  )  [private]

ptypeTable.cc48 行で定義されています。

参照先 osl::isBasic().

template<osl::Ptype T>
void osl::PtypeTable::initPtypeSub ( Int2Type< true >  isBasic  )  [private]
template<osl::Ptype T>
void osl::PtypeTable::initPtypeSub ( Int2Type< false >  isBasic  )  [private]

ptypeTable.cc39 行で定義されています。

参照先 betterToPromote, csaNames, moveMasks, と names.

bool osl::PtypeTable::isBetterToPromote ( Ptype  ptype  )  const [inline]

変数

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

参照元 initPtypeSub(), と isBetterToPromote().

CArray2d<int, 2, PTYPE_SIZE> osl::PtypeTable::canDropLimit [private]

ptypeTable.h27 行で定義されています。

参照元 getCanDropLimit(), と initPtypeSub().

CArray<const char *, PTYPE_SIZE> osl::PtypeTable::csaNames [private]

ptypeTable.h21 行で定義されています。

参照元 getCsaName(), と initPtypeSub().

ptypeTable.h29 行で定義されています。

参照元 effect(), getEffect(), と init().

ptypeTable.h30 行で定義されています。

参照元 getEffectNotLongU(), と init().

ptypeTable.h25 行で定義されています。

参照元 getIndexLimit(), と initPtypeSub().

ptypeTable.h24 行で定義されています。

参照元 getIndexMin(), と initPtypeSub().

ptypeTable.h23 行で定義されています。

参照元 getMoveMask(), init(), と initPtypeSub().

CArray<const char *, PTYPE_SIZE> osl::PtypeTable::names [private]

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

参照元 getName(), と initPtypeSub().

ptypeTable.h19 行で定義されています。

参照元 init(), と initPtypeSub().

ptypeTable.h18 行で定義されています。

参照元 getMaskLow(), init(), と initPtypeSub().

CArray2d<unsigned int, 2, SHORT_DIRECTION_SIZE> osl::PtypeTable::shortMoveMask [private]

ptypeTable.h31 行で定義されています。

参照元 getShortMoveMask(), と init().


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義