#include <addEffect8Table.h>

| 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 | 
Definition at line 25 of file addEffect8Table.h.
| osl::move_generator::addeffect8::AddEffect8Table::AddEffect8Table | ( | ) | 
Definition at line 233 of file addEffect8Table.cc.
| 
 | inline | 
ptypeの駒が敵の駒がなければ8近傍に長い利きがある場合.
黒からsecondの方向にたどってkingSquare+firstまでに邪魔が1つなら良い
| 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().
| 
 | 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().
| 
 | 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().
| 
 | inline | 
ptypeの駒を打って敵の玉の8近傍に長い利きをつける.
間に駒がなければ,王手になるタイプ
Definition at line 63 of file addEffect8Table.h.
References osl::Square::index(), and longDropDirect.
Referenced by osl::move_generator::addeffect8::generateLongDrop().
| 
 | 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().
| 
 | inline | 
ptypeの駒を動かして敵の玉の8近傍に長い利きがつく地点の相対位置.
黒から見てkingSquare+firstに駒を移動できて, kingSquare+secondとの間がずっとemptyなら良い
| 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().
| 
 | inline | 
ptypeの駒を動かして(長い動きも可 )敵の玉の8近傍に短い利きがつく地点の相対位置.
黒から見てkingSquare+offsetに駒を移動すると良い
| 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().
| 
 | private | 
Definition at line 56 of file addEffect8Table.cc.
References dropSquare, osl::PtypeTable::hasLongMove(), osl::move_generator::addeffect8::hasUnblockableEffect(), osl::Square::index(), osl::Square::isOnBoard(), osl::KING, osl::PTYPE_BASIC_MIN, osl::PTYPE_MAX, and osl::Ptype_Table.
| 
 | private | 
Definition at line 89 of file addEffect8Table.cc.
References osl::BISHOP, count, osl::move_generator::addeffect8::hasEffect(), osl::PtypeTable::hasLongMove(), osl::move_generator::addeffect8::hasUnblockableEffect(), osl::Square::index(), osl::Square::isOnBoard(), osl::LANCE, osl::PTYPE_BASIC_MIN, osl::PTYPE_MAX, osl::Ptype_Table, and osl::ROOK.
| 
 | private | 
Definition at line 143 of file addEffect8Table.cc.
References osl::canPromote(), osl::move_generator::addeffect8::hasEffect(), osl::move_generator::addeffect8::hasUnblockableEffect(), osl::Offset32Base< Width, Width2 >::index(), osl::eval::max(), osl::promote(), osl::PTYPE_MAX, osl::PTYPE_PIECE_MIN, and osl::move_generator::addeffect8::sameDirection().
| 
 | private | 
Definition at line 43 of file addEffect8Table.h.
Referenced by getBetweenOffset().
| 
 | private | 
Definition at line 28 of file addEffect8Table.h.
Referenced by getDropSquare(), and initDropSquare().
| 
 | private | 
Definition at line 35 of file addEffect8Table.h.
Referenced by getLongDrop2Square().
| 
 | private | 
Definition at line 30 of file addEffect8Table.h.
Referenced by getLongDropDirect().
| 
 | private | 
Definition at line 33 of file addEffect8Table.h.
Referenced by getLongDropSquare().
| 
 | private | 
Definition at line 42 of file addEffect8Table.h.
Referenced by getLongMoveOffset().
| 
 | staticprivate | 
Definition at line 27 of file addEffect8Table.h.
| 
 | staticprivate | 
Definition at line 34 of file addEffect8Table.h.
| 
 | staticprivate | 
Definition at line 29 of file addEffect8Table.h.
| 
 | staticprivate | 
Definition at line 32 of file addEffect8Table.h.
| 
 | staticprivate | 
Definition at line 41 of file addEffect8Table.h.
Referenced by getLongMoveOffset().
| 
 | staticprivate | 
Definition at line 37 of file addEffect8Table.h.
Referenced by getShortMoveOffset().
| 
 | staticprivate | 
Definition at line 39 of file addEffect8Table.h.
Referenced by getShortMoveOffset().
| 
 | private | 
Definition at line 38 of file addEffect8Table.h.
Referenced by getShortMoveOffset().
| 
 | private | 
Definition at line 40 of file addEffect8Table.h.
Referenced by getShortMoveOffset().
 1.8.4
 1.8.4