クラス osl::move_generator::AddEffectTable

利きをつける手を生成するためのテーブル. [詳細]

#include <addEffectTable.h>

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

すべてのメンバ一覧

Public メソッド

 AddEffectTable ()
template<Player P>
NearMask getNearMask (Ptype ptype, Position from, Position to) const
template<Player P>
NearMask getNearMaskWithPromote (Ptype ptype, Position from, Position to) const
template<Player P>
NearMask getNearMaskLong (Ptype ptype, Position from, Position to) const
template<Player P>
Offset getOffsetLong (Ptype ptype, Position from, Position to, int n) const
template<Player P>
NearMask getNearMaskPBISHOP (Position from, Position to) const
template<Player P>
Offset getOffsetPBISHOP (Position from, Position to, int n) const
template<Player P>
NearMask getNearMaskPROOK (Position from, Position to) const
template<Player P>
Offset getOffsetPROOK (Position from, Position to, int n) const

Private メソッド

void setNearMaskLong (Ptype ptype, int dx, int dy)

Private 変数

CArray2d< NearMask, PTYPE_SIZE,
Offset32::SIZE
nearMask
CArray2d< NearMask, PTYPE_SIZE,
Offset32::SIZE
nearMaskWithPromote
CArray2d< NearMask, PTYPE_SIZE,
Offset32::SIZE
nearMaskLong
CArray3d< Offset, PTYPE_SIZE,
Offset32::SIZE, 8 > 
offsetLong
 実は 4 bit * 8 のテーブルにするのが自然だった
CArray< NearMask, Offset32::SIZEnearMaskPBISHOP
CArray2d< Offset,
Offset32::SIZE, 8 > 
offsetPBISHOP
CArray< NearMask, Offset32::SIZEnearMaskPROOK
CArray2d< Offset,
Offset32::SIZE, 8 > 
offsetPROOK

説明

利きをつける手を生成するためのテーブル.

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


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

osl::move_generator::AddEffectTable::AddEffectTable (  ) 

関数

template<Player P>
NearMask osl::move_generator::AddEffectTable::getNearMask ( Ptype  ptype,
Position  from,
Position  to 
) const [inline]
引数:
P(template) - 手番のプレイヤー
ptype - 動かそうとする駒の種類
from - 動かそうとする駒の位置
to - 利きをつけたいマス

addEffectTable.h40 行で定義されています。

参照先 osl::Position::isOnBoard(), osl::isValid(), と nearMask.

参照元 osl::move_generator::without_effect::generateLongMoveDirectCanPromote(), osl::move_generator::without_effect::generateLongMoveDirectNoPromote(), と osl::move_generator::without_effect::generateMove().

template<Player P>
NearMask osl::move_generator::AddEffectTable::getNearMaskLong ( Ptype  ptype,
Position  from,
Position  to 
) const [inline]
template<Player P>
NearMask osl::move_generator::AddEffectTable::getNearMaskPBISHOP ( Position  from,
Position  to 
) const [inline]
template<Player P>
NearMask osl::move_generator::AddEffectTable::getNearMaskPROOK ( Position  from,
Position  to 
) const [inline]
template<Player P>
NearMask osl::move_generator::AddEffectTable::getNearMaskWithPromote ( Ptype  ptype,
Position  from,
Position  to 
) const [inline]
template<Player P>
Offset osl::move_generator::AddEffectTable::getOffsetLong ( Ptype  ptype,
Position  from,
Position  to,
int  n 
) const [inline]
template<Player P>
Offset osl::move_generator::AddEffectTable::getOffsetPBISHOP ( Position  from,
Position  to,
int  n 
) const [inline]
template<Player P>
Offset osl::move_generator::AddEffectTable::getOffsetPROOK ( Position  from,
Position  to,
int  n 
) const [inline]
void osl::move_generator::AddEffectTable::setNearMaskLong ( Ptype  ptype,
int  dx,
int  dy 
) [private]

変数

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

参照元 getNearMask().

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

参照元 getNearMaskLong().

addEffectTable.h26 行で定義されています。

参照元 getNearMaskPBISHOP().

addEffectTable.h28 行で定義されています。

参照元 getNearMaskPROOK().

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

参照元 getNearMaskWithPromote().

実は 4 bit * 8 のテーブルにするのが自然だった

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

参照元 getOffsetLong().

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

参照元 getOffsetPBISHOP().

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

参照元 getOffsetPROOK().


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義
Sun May 16 09:58:25 2010に生成されました。  doxygen 1.6.3