All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Private Member Functions | Private Attributes | Static Private Attributes | List of all members
osl::move_generator::addeffect8::AddEffect8Table Class Reference

#include <addEffect8Table.h>

Collaboration diagram for osl::move_generator::addeffect8::AddEffect8Table:
Collaboration graph
[legend]

Public Member Functions

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

Private Member Functions

void initDropSquare ()
 
void initLongDropSquare ()
 
void initMoveOffset ()
 

Private Attributes

CArray3d< Square, PTYPE_SIZE,
Square::SIZE, maxDropSquare
dropSquare
 
CArray3d< Offset, PTYPE_SIZE,
Square::SIZE,
maxLongDropDirect
longDropDirect
 
CArray3d< PO, PTYPE_SIZE,
Square::SIZE,
maxLongDropSquare
longDropSquare
 
CArray3d< POO, PTYPE_SIZE,
Square::SIZE,
maxLongDrop2Square
longDrop2Square
 
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 Attributes

static const int maxDropSquare =32
 
static const int maxLongDropDirect =8
 
static const int maxLongDropSquare =32
 
static const int maxLongDrop2Square =8
 
static const int maxShortMoveOffset =32
 
static const int maxShortPromoteMoveOffset =32
 
static const int maxLongMoveOffset =32
 

Detailed Description

Definition at line 25 of file addEffect8Table.h.

Constructor & Destructor Documentation

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

Definition at line 233 of file addEffect8Table.cc.

Member Function Documentation

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

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

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

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

Definition at line 129 of file addEffect8Table.h.

References betweenOffset, and osl::Offset32Base< Width, Width2 >::index().

Referenced by osl::move_generator::addeffect8::generateLongMove().

Square osl::move_generator::addeffect8::AddEffect8Table::getDropSquare ( Ptype  ptype,
Square  kingSquare,
int  i 
) const
inline

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

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

Definition at line 53 of file addEffect8Table.h.

References dropSquare, and osl::Square::index().

Referenced by osl::move_generator::addeffect8::generateShortDrop().

POO osl::move_generator::addeffect8::AddEffect8Table::getLongDrop2Square ( Ptype  ptype,
Square  kingSquare,
int  i 
) const
inline

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

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

Definition at line 85 of file addEffect8Table.h.

References osl::Square::index(), and longDrop2Square.

Referenced by osl::move_generator::addeffect8::generateLongDrop().

Offset osl::move_generator::addeffect8::AddEffect8Table::getLongDropDirect ( Ptype  ptype,
Square  kingSquare,
int  i 
) const
inline

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

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

Definition at line 63 of file addEffect8Table.h.

References osl::Square::index(), and longDropDirect.

Referenced by osl::move_generator::addeffect8::generateLongDrop().

PO osl::move_generator::addeffect8::AddEffect8Table::getLongDropSquare ( Ptype  ptype,
Square  kingSquare,
int  i 
) const
inline

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

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

Definition at line 74 of file addEffect8Table.h.

References osl::Square::index(), and longDropSquare.

Referenced by osl::move_generator::addeffect8::generateLongDrop().

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

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

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

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

Definition at line 118 of file addEffect8Table.h.

References osl::Offset32Base< Width, Width2 >::index(), longMoveOffset, and maxLongMoveOffset.

Referenced by osl::move_generator::addeffect8::generateLongMove().

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

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

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

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

Definition at line 99 of file addEffect8Table.h.

References osl::Offset32Base< Width, Width2 >::index(), maxShortMoveOffset, maxShortPromoteMoveOffset, shortMoveOffset, and shortPromoteMoveOffset.

Referenced by osl::move_generator::addeffect8::generateLongMove(), and osl::move_generator::addeffect8::generateShortMove().

void osl::move_generator::addeffect8::AddEffect8Table::initDropSquare ( )
private
void osl::move_generator::addeffect8::AddEffect8Table::initLongDropSquare ( )
private
void osl::move_generator::addeffect8::AddEffect8Table::initMoveOffset ( )
private

Member Data Documentation

CArray2d<OffsetPair,PTYPE_SIZE,Offset32::SIZE> osl::move_generator::addeffect8::AddEffect8Table::betweenOffset
private

Definition at line 43 of file addEffect8Table.h.

Referenced by getBetweenOffset().

CArray3d<Square,PTYPE_SIZE,Square::SIZE,maxDropSquare> osl::move_generator::addeffect8::AddEffect8Table::dropSquare
private

Definition at line 28 of file addEffect8Table.h.

Referenced by getDropSquare(), and initDropSquare().

CArray3d<POO,PTYPE_SIZE,Square::SIZE,maxLongDrop2Square> osl::move_generator::addeffect8::AddEffect8Table::longDrop2Square
private

Definition at line 35 of file addEffect8Table.h.

Referenced by getLongDrop2Square().

CArray3d<Offset,PTYPE_SIZE,Square::SIZE,maxLongDropDirect> osl::move_generator::addeffect8::AddEffect8Table::longDropDirect
private

Definition at line 30 of file addEffect8Table.h.

Referenced by getLongDropDirect().

CArray3d<PO,PTYPE_SIZE,Square::SIZE,maxLongDropSquare> osl::move_generator::addeffect8::AddEffect8Table::longDropSquare
private

Definition at line 33 of file addEffect8Table.h.

Referenced by getLongDropSquare().

CArray3d<OffsetPair,PTYPE_SIZE,Offset32::SIZE,maxLongMoveOffset> osl::move_generator::addeffect8::AddEffect8Table::longMoveOffset
private

Definition at line 42 of file addEffect8Table.h.

Referenced by getLongMoveOffset().

const int osl::move_generator::addeffect8::AddEffect8Table::maxDropSquare =32
staticprivate

Definition at line 27 of file addEffect8Table.h.

const int osl::move_generator::addeffect8::AddEffect8Table::maxLongDrop2Square =8
staticprivate

Definition at line 34 of file addEffect8Table.h.

const int osl::move_generator::addeffect8::AddEffect8Table::maxLongDropDirect =8
staticprivate

Definition at line 29 of file addEffect8Table.h.

const int osl::move_generator::addeffect8::AddEffect8Table::maxLongDropSquare =32
staticprivate

Definition at line 32 of file addEffect8Table.h.

const int osl::move_generator::addeffect8::AddEffect8Table::maxLongMoveOffset =32
staticprivate

Definition at line 41 of file addEffect8Table.h.

Referenced by getLongMoveOffset().

const int osl::move_generator::addeffect8::AddEffect8Table::maxShortMoveOffset =32
staticprivate

Definition at line 37 of file addEffect8Table.h.

Referenced by getShortMoveOffset().

const int osl::move_generator::addeffect8::AddEffect8Table::maxShortPromoteMoveOffset =32
staticprivate

Definition at line 39 of file addEffect8Table.h.

Referenced by getShortMoveOffset().

CArray3d<Offset,PTYPE_SIZE,Offset32::SIZE,maxShortMoveOffset> osl::move_generator::addeffect8::AddEffect8Table::shortMoveOffset
private

Definition at line 38 of file addEffect8Table.h.

Referenced by getShortMoveOffset().

CArray3d<Offset,PTYPE_SIZE,Offset32::SIZE,maxShortPromoteMoveOffset> osl::move_generator::addeffect8::AddEffect8Table::shortPromoteMoveOffset
private

Definition at line 40 of file addEffect8Table.h.

Referenced by getShortMoveOffset().


The documentation for this class was generated from the following files: