利きをつける手を生成するためのテーブル. [詳細]
#include <addEffectTable.h>

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::SIZE > | nearMaskPBISHOP |
| CArray2d< Offset, Offset32::SIZE, 8 > | offsetPBISHOP |
| CArray< NearMask, Offset32::SIZE > | nearMaskPROOK |
| CArray2d< Offset, Offset32::SIZE, 8 > | offsetPROOK |
利きをつける手を生成するためのテーブル.
addEffectTable.h の 19 行で定義されています。
| osl::move_generator::AddEffectTable::AddEffectTable | ( | ) |
| NearMask osl::move_generator::AddEffectTable::getNearMask | ( | Ptype | ptype, | |
| Position | from, | |||
| Position | to | |||
| ) | const [inline] |
| P(template) | - 手番のプレイヤー | |
| ptype | - 動かそうとする駒の種類 | |
| from | - 動かそうとする駒の位置 | |
| to | - 利きをつけたいマス |
addEffectTable.h の 40 行で定義されています。
参照先 osl::Position::isOnBoard(), osl::isValid(), と nearMask.
参照元 osl::move_generator::without_effect::generateLongMoveDirectCanPromote(), osl::move_generator::without_effect::generateLongMoveDirectNoPromote(), と osl::move_generator::without_effect::generateMove().
| NearMask osl::move_generator::AddEffectTable::getNearMaskLong | ( | Ptype | ptype, | |
| Position | from, | |||
| Position | to | |||
| ) | const [inline] |
addEffectTable.h の 52 行で定義されています。
参照先 osl::Position::isOnBoard(), osl::isValid(), と nearMaskLong.
参照元 osl::move_generator::without_effect::generateLongMove().
| NearMask osl::move_generator::AddEffectTable::getNearMaskPBISHOP | ( | Position | from, | |
| Position | to | |||
| ) | const [inline] |
addEffectTable.h の 66 行で定義されています。
参照先 osl::Position::isOnBoard(), と nearMaskPBISHOP.
参照元 osl::move_generator::without_effect::generateLongMove().
| NearMask osl::move_generator::AddEffectTable::getNearMaskPROOK | ( | Position | from, | |
| Position | to | |||
| ) | const [inline] |
addEffectTable.h の 79 行で定義されています。
参照先 osl::Position::isOnBoard(), と nearMaskPROOK.
参照元 osl::move_generator::without_effect::generateLongMove().
| Offset osl::move_generator::AddEffectTable::getOffsetLong | ( | Ptype | ptype, | |
| Position | from, | |||
| Position | to, | |||
| int | n | |||
| ) | const [inline] |
addEffectTable.h の 58 行で定義されています。
参照先 osl::Position::isOnBoard(), osl::isValid(), と offsetLong.
参照元 osl::move_generator::without_effect::generateLongMove().
| Offset osl::move_generator::AddEffectTable::getOffsetPBISHOP | ( | Position | from, | |
| Position | to, | |||
| int | n | |||
| ) | const [inline] |
addEffectTable.h の 72 行で定義されています。
参照先 osl::Position::isOnBoard(), と offsetPBISHOP.
参照元 osl::move_generator::without_effect::generateLongMove().
| Offset osl::move_generator::AddEffectTable::getOffsetPROOK | ( | Position | from, | |
| Position | to, | |||
| int | n | |||
| ) | const [inline] |
addEffectTable.h の 85 行で定義されています。
参照先 osl::Position::isOnBoard(), と offsetPROOK.
参照元 osl::move_generator::without_effect::generateLongMove().
| void osl::move_generator::AddEffectTable::setNearMaskLong | ( | Ptype | ptype, | |
| int | dx, | |||
| int | dy | |||
| ) | [private] |
CArray2d<NearMask, PTYPE_SIZE, Offset32::SIZE> osl::move_generator::AddEffectTable::nearMask [private] |
addEffectTable.h の 21 行で定義されています。
参照元 getNearMask().
CArray2d<NearMask, PTYPE_SIZE, Offset32::SIZE> osl::move_generator::AddEffectTable::nearMaskLong [private] |
addEffectTable.h の 23 行で定義されています。
参照元 getNearMaskLong().
CArray<NearMask,Offset32::SIZE> osl::move_generator::AddEffectTable::nearMaskPBISHOP [private] |
addEffectTable.h の 26 行で定義されています。
参照元 getNearMaskPBISHOP().
CArray<NearMask,Offset32::SIZE> osl::move_generator::AddEffectTable::nearMaskPROOK [private] |
addEffectTable.h の 28 行で定義されています。
参照元 getNearMaskPROOK().
CArray2d<NearMask, PTYPE_SIZE, Offset32::SIZE> osl::move_generator::AddEffectTable::nearMaskWithPromote [private] |
addEffectTable.h の 22 行で定義されています。
CArray3d<Offset,PTYPE_SIZE,Offset32::SIZE,8> osl::move_generator::AddEffectTable::offsetLong [private] |
CArray2d<Offset,Offset32::SIZE,8> osl::move_generator::AddEffectTable::offsetPBISHOP [private] |
addEffectTable.h の 27 行で定義されています。
参照元 getOffsetPBISHOP().
CArray2d<Offset,Offset32::SIZE,8> osl::move_generator::AddEffectTable::offsetPROOK [private] |
addEffectTable.h の 29 行で定義されています。
参照元 getOffsetPROOK().
1.6.3