クラス osl::move_generator::addeffect8::AddEffect8Table

#include <addEffect8Table.h>

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

すべてのメンバ一覧

Public メソッド

 AddEffect8Table ()
Position getDropPosition (Ptype ptype, Position kingPosition, int i) const
 ptypeの駒を打って敵の玉の8近傍に短い利きがつく地点の相対位置.
Offset getLongDropDirect (Ptype ptype, Position kingPosition, int i) const
 ptypeの駒を打って敵の玉の8近傍に長い利きをつける.
PO getLongDropPosition (Ptype ptype, Position kingPosition, int i) const
 ptypeの駒を打って敵の玉の8近傍に長い利きをつける.
POO getLongDrop2Position (Ptype ptype, Position kingPosition, int i) const
 ptypeの駒を打って敵の玉の8近傍に長い利きをつける.
Offset getShortMoveOffset (bool isPromote, Ptype ptype, Offset32 o32, int i) const
 ptypeの駒を動かして(長い動きも可 )敵の玉の8近傍に短い利きがつく地点の相対位置.
OffsetPair getLongMoveOffset (Ptype ptype, Offset32 o32, int i) const
 ptypeの駒を動かして敵の玉の8近傍に長い利きがつく地点の相対位置.
OffsetPair getBetweenOffset (Ptype ptype, Offset32 o32) const
 ptypeの駒が敵の駒がなければ8近傍に長い利きがある場合.

Private メソッド

void initDropPosition ()
void initLongDropPosition ()
void initMoveOffset ()

Private 変数

CArray3d< Position, PTYPE_SIZE,
Position::SIZE,
maxDropPosition
dropPosition
CArray3d< Offset, PTYPE_SIZE,
Position::SIZE,
maxLongDropDirect
longDropDirect
CArray3d< PO, PTYPE_SIZE,
Position::SIZE,
maxLongDropPosition
longDropPosition
CArray3d< POO, PTYPE_SIZE,
Position::SIZE,
maxLongDrop2Position
longDrop2Position
CArray3d< Offset, PTYPE_SIZE,
Offset32::SIZE,
maxShortMoveOffset
shortMoveOffset
CArray3d< Offset, PTYPE_SIZE,
Offset32::SIZE,
maxShortPromoteMoveOffset
shortPromoteMoveOffset
CArray3d< OffsetPair,
PTYPE_SIZE, Offset32::SIZE,
maxLongMoveOffset
longMoveOffset
CArray2d< OffsetPair,
PTYPE_SIZE, Offset32::SIZE
betweenOffset

Static Private 変数

static const int maxDropPosition = 32
static const int maxLongDropDirect = 8
static const int maxLongDropPosition = 32
static const int maxLongDrop2Position = 8
static const int maxShortMoveOffset = 32
static const int maxShortPromoteMoveOffset = 32
static const int maxLongMoveOffset = 32

説明

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


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

osl::move_generator::addeffect8::AddEffect8Table::AddEffect8Table (  ) 

addEffect8Table.cc217 行で定義されています。

参照先 initDropPosition(), initLongDropPosition(), と initMoveOffset().


関数

OffsetPair osl::move_generator::addeffect8::AddEffect8Table::getBetweenOffset ( Ptype  ptype,
Offset32  o32 
) const [inline]

ptypeの駒が敵の駒がなければ8近傍に長い利きがある場合.

黒からsecondの方向にたどってkingPosition+firstまでに邪魔が1つなら良い

引数:
ptype - 移動前の駒の種類
o32 - targetからみたfromの相対位置 = Offset32(from,target)

addEffect8Table.h129 行で定義されています。

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

参照元 osl::move_generator::addeffect8::generateLongMove().

Position osl::move_generator::addeffect8::AddEffect8Table::getDropPosition ( Ptype  ptype,
Position  kingPosition,
int  i 
) const [inline]

ptypeの駒を打って敵の玉の8近傍に短い利きがつく地点の相対位置.

長い利きを8近傍内につけるのも可 黒から見てkingPosition+offsetに駒を打つと良い 手番から見た相手の玉のPosition

addEffect8Table.h53 行で定義されています。

参照先 dropPosition, と osl::Position::index().

参照元 osl::move_generator::addeffect8::generateShortDrop().

POO osl::move_generator::addeffect8::AddEffect8Table::getLongDrop2Position ( Ptype  ptype,
Position  kingPosition,
int  i 
) const [inline]

ptypeの駒を打って敵の玉の8近傍に長い利きをつける.

1方向 黒から見てkingPosition+firstに打つ手から始めて,+secondしていっても emptyならOK

addEffect8Table.h85 行で定義されています。

参照先 osl::Position::index(), と longDrop2Position.

参照元 osl::move_generator::addeffect8::generateLongDrop().

Offset osl::move_generator::addeffect8::AddEffect8Table::getLongDropDirect ( Ptype  ptype,
Position  kingPosition,
int  i 
) const [inline]

ptypeの駒を打って敵の玉の8近傍に長い利きをつける.

間に駒がなければ,王手になるタイプ

addEffect8Table.h63 行で定義されています。

参照先 osl::Position::index(), と longDropDirect.

参照元 osl::move_generator::addeffect8::generateLongDrop().

PO osl::move_generator::addeffect8::AddEffect8Table::getLongDropPosition ( Ptype  ptype,
Position  kingPosition,
int  i 
) const [inline]

ptypeの駒を打って敵の玉の8近傍に長い利きをつける.

1方向 黒から見てkingPosition+firstに打つ手から始めて,+secondしていっても emptyならOK

addEffect8Table.h74 行で定義されています。

参照先 osl::Position::index(), と longDropPosition.

参照元 osl::move_generator::addeffect8::generateLongDrop().

OffsetPair osl::move_generator::addeffect8::AddEffect8Table::getLongMoveOffset ( Ptype  ptype,
Offset32  o32,
int  i 
) const [inline]

ptypeの駒を動かして敵の玉の8近傍に長い利きがつく地点の相対位置.

黒から見てkingPosition+firstに駒を移動できて, kingPosition+secondとの間がずっとemptyなら良い

引数:
ptype - 移動前の駒の種類
o32 - targetからみたfromの相対位置 = Offset32(from,target)
i - 何番目か

addEffect8Table.h118 行で定義されています。

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

参照元 osl::move_generator::addeffect8::generateLongMove().

Offset osl::move_generator::addeffect8::AddEffect8Table::getShortMoveOffset ( bool  isPromote,
Ptype  ptype,
Offset32  o32,
int  i 
) const [inline]

ptypeの駒を動かして(長い動きも可 )敵の玉の8近傍に短い利きがつく地点の相対位置.

黒から見てkingPosition+offsetに駒を移動すると良い

引数:
isPromote - promoteするかしないか
ptype - 移動前の駒の種類
o32 - targetからみたfromの相対位置 = Offset32(from,target)
i - 何番目か

addEffect8Table.h99 行で定義されています。

参照先 osl::Offset32Base< Width, Width2 >::index(), maxShortMoveOffset, maxShortPromoteMoveOffset, shortMoveOffset, と shortPromoteMoveOffset.

参照元 osl::move_generator::addeffect8::generateLongMove(), と osl::move_generator::addeffect8::generateShortMove().

void osl::move_generator::addeffect8::AddEffect8Table::initDropPosition (  )  [private]
void osl::move_generator::addeffect8::AddEffect8Table::initLongDropPosition (  )  [private]
void osl::move_generator::addeffect8::AddEffect8Table::initMoveOffset (  )  [private]

変数

addEffect8Table.h43 行で定義されています。

参照元 getBetweenOffset(), と initMoveOffset().

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

参照元 getDropPosition(), initDropPosition(), と initLongDropPosition().

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

参照元 getLongDrop2Position(), と initLongDropPosition().

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

参照元 getLongDropDirect(), と initLongDropPosition().

addEffect8Table.h33 行で定義されています。

参照元 getLongDropPosition(), と initLongDropPosition().

addEffect8Table.h42 行で定義されています。

参照元 getLongMoveOffset(), と initMoveOffset().

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

addEffect8Table.h34 行で定義されています。

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

addEffect8Table.h32 行で定義されています。

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

参照元 getLongMoveOffset().

addEffect8Table.h37 行で定義されています。

参照元 getShortMoveOffset().

addEffect8Table.h39 行で定義されています。

参照元 getShortMoveOffset().

addEffect8Table.h38 行で定義されています。

参照元 getShortMoveOffset(), と initMoveOffset().

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

参照元 getShortMoveOffset(), と initMoveOffset().


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