#include <majorPiece.h>
Public 型 | |
enum | { ONE_DIM = 612, DIM = ONE_DIM * 2 } |
Static Public メソッド | |
static MultiInt | eval (const NumEffectState &state) |
Static Protected メソッド | |
template<Player P> | |
static MultiInt | evalOne (const NumEffectState &state, Square bishop, Square myKing, Square opKing, Square ulp, Square urp, Square dlp, Square drp, bool isP) |
static int | index (int x_diff, int y_diff, bool ur, bool promoted) |
static int | index0 (int x_diff, int y_diff, PtypeO ptypeO, bool ur, bool promoted) |
static int | index1 (Square king, Square from, PtypeO ptypeO, bool isP) |
黒の角(馬)からの利きのある駒のindex {attack,defense}_{ul,ur,dl,dr} へのアクセスに使う from - 駒の位置 king - 玉の位置 ptypeO - 駒の種類,白からの利きの場合は反転. (BLACK,PTYPE_EDGE)もあり得る isP - 馬の場合 | |
static int | index1 (int x_diff, int y_diff, PtypeO ptypeO, bool isP) |
黒の角(馬)からの利きのある駒のindex {attack,defense}_{ul,ur,dl,dr} へのアクセスに使う (x_diff, y_diff) - 玉を基準に見た駒の相対位置 ptypeO - 駒の種類,白からの利きの場合は反転. (BLACK,PTYPE_EDGE)もあり得る isP - 馬の場合 | |
static int | index2 (Square king, Square from, bool isP) |
黒の角(馬)がある場所は空マスでないのでその分を補正するテーブル {attack,defense}_nospace へのアクセス king - 玉の位置 from - 角(馬)の位置 isP - 馬の場合 | |
static int | index2 (int x_diff, int y_diff, bool isP) |
黒の角(馬)がある場所は空マスでないのでその分を補正するテーブル {attack,defense}_nospace へのアクセス (x_diff, y_diff) - 玉を基準にしてみた角(馬)の相対位置 isP - 馬の場合 | |
Static Protected 変数 | |
static CArray< MultiInt, 612 > | attack_table |
static CArray< MultiInt, 612 > | defense_table |
static CArray< MultiInt, 32 > | piece_table |
static CArray< MultiInt, 23104 > | attack_ur |
static CArray< MultiInt, 23104 > | attack_ul |
static CArray< MultiInt, 23104 > | attack_dr |
static CArray< MultiInt, 23104 > | attack_dl |
static CArray< MultiInt, 23104 > | defense_ur |
static CArray< MultiInt, 23104 > | defense_ul |
static CArray< MultiInt, 23104 > | defense_dr |
static CArray< MultiInt, 23104 > | defense_dl |
static CArray< MultiInt, 722 > | attack_nospace |
static CArray< MultiInt, 722 > | defense_nospace |
フレンド | |
class | BishopEffectPiece |
majorPiece.h の 306 行で定義されています。
anonymous enum |
majorPiece.h の 310 行で定義されています。
MultiInt osl::eval::ml::BishopEffectBase::eval | ( | const NumEffectState & | state | ) | [static] |
majorPiece.cc の 523 行で定義されています。
参照先 osl::BLACK, osl::DL, osl::DR, osl::PtypeTraits< BISHOP >::indexMin, osl::Piece::isOnBoard(), osl::Piece::isPromoted(), osl::SimpleState::kingSquare(), osl::NumEffectState::mobilityOf(), osl::Piece::owner(), osl::SimpleState::pieceOf(), osl::Piece::square(), osl::UL, osl::UR, と osl::WHITE.
参照元 osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), と osl::eval::ml::OpenMidEndingEval::updateSub().
MultiInt osl::eval::ml::BishopEffectBase::evalOne | ( | const NumEffectState & | state, | |
Square | bishop, | |||
Square | myKing, | |||
Square | opKing, | |||
Square | ulp, | |||
Square | urp, | |||
Square | dlp, | |||
Square | drp, | |||
bool | isP | |||
) | [inline, static, protected] |
majorPiece.cc の 480 行で定義されています。
参照先 attack_dl, attack_dr, attack_nospace, attack_ul, attack_ur, defense_dl, defense_dr, defense_nospace, defense_ul, defense_ur, index1(), index2(), osl::SimpleState::pieceAt(), osl::Piece::ptypeO(), osl::Square::rotate180(), osl::Square::rotate180EdgeOK(), と osl::WHITE.
static int osl::eval::ml::BishopEffectBase::index | ( | int | x_diff, | |
int | y_diff, | |||
bool | ur, | |||
bool | promoted | |||
) | [inline, static, protected] |
majorPiece.h の 323 行で定義されています。
参照元 index1(), index2(), と osl::eval::ml::BishopEffectPieceKingRelative::setUp().
static int osl::eval::ml::BishopEffectBase::index0 | ( | int | x_diff, | |
int | y_diff, | |||
PtypeO | ptypeO, | |||
bool | ur, | |||
bool | promoted | |||
) | [inline, static, protected] |
majorPiece.h の 329 行で定義されています。
static int osl::eval::ml::BishopEffectBase::index1 | ( | Square | king, | |
Square | from, | |||
PtypeO | ptypeO, | |||
bool | isP | |||
) | [inline, static, protected] |
黒の角(馬)からの利きのある駒のindex {attack,defense}_{ul,ur,dl,dr} へのアクセスに使う from - 駒の位置 king - 玉の位置 ptypeO - 駒の種類,白からの利きの場合は反転. (BLACK,PTYPE_EDGE)もあり得る isP - 馬の場合
majorPiece.h の 345 行で定義されています。
参照先 osl::Square::x(), と osl::Square::y().
参照元 evalOne(), と osl::eval::ml::BishopEffectPieceKingRelative::setUp().
static int osl::eval::ml::BishopEffectBase::index1 | ( | int | x_diff, | |
int | y_diff, | |||
PtypeO | ptypeO, | |||
bool | isP | |||
) | [inline, static, protected] |
黒の角(馬)からの利きのある駒のindex {attack,defense}_{ul,ur,dl,dr} へのアクセスに使う (x_diff, y_diff) - 玉を基準に見た駒の相対位置 ptypeO - 駒の種類,白からの利きの場合は反転. (BLACK,PTYPE_EDGE)もあり得る isP - 馬の場合
majorPiece.h の 359 行で定義されています。
参照先 osl::getPtype(), index(), と osl::PTYPE_EMPTY.
static int osl::eval::ml::BishopEffectBase::index2 | ( | int | x_diff, | |
int | y_diff, | |||
bool | isP | |||
) | [inline, static, protected] |
黒の角(馬)がある場所は空マスでないのでその分を補正するテーブル {attack,defense}_nospace へのアクセス (x_diff, y_diff) - 玉を基準にしてみた角(馬)の相対位置 isP - 馬の場合
majorPiece.h の 386 行で定義されています。
参照先 index().
static int osl::eval::ml::BishopEffectBase::index2 | ( | Square | king, | |
Square | from, | |||
bool | isP | |||
) | [inline, static, protected] |
黒の角(馬)がある場所は空マスでないのでその分を補正するテーブル {attack,defense}_nospace へのアクセス king - 玉の位置 from - 角(馬)の位置 isP - 馬の場合
majorPiece.h の 374 行で定義されています。
参照先 osl::Square::x(), と osl::Square::y().
参照元 evalOne(), と osl::eval::ml::BishopEffectPieceKingRelative::setUp().
friend class BishopEffectPiece [friend] |
majorPiece.h の 308 行で定義されています。
osl::CArray< MultiInt, 23104 > osl::eval::ml::BishopEffectBase::attack_dl [static, protected] |
majorPiece.h の 399 行で定義されています。
参照元 evalOne(), と osl::eval::ml::BishopEffectPieceKingRelative::setUp().
osl::CArray< MultiInt, 23104 > osl::eval::ml::BishopEffectBase::attack_dr [static, protected] |
majorPiece.h の 398 行で定義されています。
参照元 evalOne(), と osl::eval::ml::BishopEffectPieceKingRelative::setUp().
osl::CArray< MultiInt, 722 > osl::eval::ml::BishopEffectBase::attack_nospace [static, protected] |
majorPiece.h の 404 行で定義されています。
参照元 evalOne(), と osl::eval::ml::BishopEffectPieceKingRelative::setUp().
osl::CArray< MultiInt, 612 > osl::eval::ml::BishopEffectBase::attack_table [static, protected] |
osl::CArray< MultiInt, 23104 > osl::eval::ml::BishopEffectBase::attack_ul [static, protected] |
majorPiece.h の 397 行で定義されています。
参照元 evalOne(), と osl::eval::ml::BishopEffectPieceKingRelative::setUp().
osl::CArray< MultiInt, 23104 > osl::eval::ml::BishopEffectBase::attack_ur [static, protected] |
majorPiece.h の 396 行で定義されています。
参照元 evalOne(), と osl::eval::ml::BishopEffectPieceKingRelative::setUp().
osl::CArray< MultiInt, 23104 > osl::eval::ml::BishopEffectBase::defense_dl [static, protected] |
majorPiece.h の 403 行で定義されています。
参照元 evalOne(), と osl::eval::ml::BishopEffectPieceKingRelative::setUp().
osl::CArray< MultiInt, 23104 > osl::eval::ml::BishopEffectBase::defense_dr [static, protected] |
majorPiece.h の 402 行で定義されています。
参照元 evalOne(), と osl::eval::ml::BishopEffectPieceKingRelative::setUp().
osl::CArray< MultiInt, 722 > osl::eval::ml::BishopEffectBase::defense_nospace [static, protected] |
majorPiece.h の 405 行で定義されています。
参照元 evalOne(), と osl::eval::ml::BishopEffectPieceKingRelative::setUp().
osl::CArray< MultiInt, 612 > osl::eval::ml::BishopEffectBase::defense_table [static, protected] |
osl::CArray< MultiInt, 23104 > osl::eval::ml::BishopEffectBase::defense_ul [static, protected] |
majorPiece.h の 401 行で定義されています。
参照元 evalOne(), と osl::eval::ml::BishopEffectPieceKingRelative::setUp().
osl::CArray< MultiInt, 23104 > osl::eval::ml::BishopEffectBase::defense_ur [static, protected] |
majorPiece.h の 400 行で定義されています。
参照元 evalOne(), と osl::eval::ml::BishopEffectPieceKingRelative::setUp().
osl::CArray< MultiInt, 32 > osl::eval::ml::BishopEffectBase::piece_table [static, protected] |