Public 型 | Static Public メソッド | Static Protected メソッド | Static Protected 変数 | フレンド

クラス osl::eval::ml::RookEffectBase

#include <majorPiece.h>

osl::eval::ml::RookEffectBaseに対する継承グラフ
Inheritance graph
[凡例]
osl::eval::ml::RookEffectBaseのコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

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 rook, Square myKing, Square opKing, Square up, Square dp, Square rp, Square lp, bool isP)
static int index (int abs_x_diff, int y_diff, bool horizontal, bool is_promoted)
 (abs_x_diff, y_diff) - 玉を原点とした時の空マスの相対位置 horizontal - 飛車の横利きがある場合 is_promoted - 竜の場合
static int index0 (int abs_x_diff, int y_diff, PtypeO ptypeO, bool horizontal, bool promoted)
 黒の飛車(竜)から利きのある駒 (abs_x_diff, y_diff) - 駒を基準にした玉の相対位置 abs_x_diffは絶対値 ptypeO - 駒のptypeO, 白からの場合は反転 horizontal - 飛車の横利きがある場合 is_promoted - 竜の場合
static int index1 (Square king, Square from, PtypeO ptypeO, bool isP)
 黒の飛車(竜)からの利きのある駒のindex {attack,defense}_{u,r,l,d} へのアクセスに使う from - 駒の位置 king - 玉の位置 ptypeO - 駒の種類,白からの利きの場合は反転. (BLACK,PTYPE_EDGE)もあり得る isP - 竜の場合
static int index1 (int x_diff, int y_diff, PtypeO ptypeO, bool isP)
 黒の飛車(竜)からの利きのある駒のindex {attack,defense}_{u,r,l,d} へのアクセスに使う (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_u
static CArray< MultiInt, 23104 > attack_d
static CArray< MultiInt, 23104 > attack_l
static CArray< MultiInt, 23104 > attack_r
static CArray< MultiInt, 23104 > defense_u
static CArray< MultiInt, 23104 > defense_d
static CArray< MultiInt, 23104 > defense_l
static CArray< MultiInt, 23104 > defense_r
static CArray< MultiInt, 722 > attack_nospace
static CArray< MultiInt, 722 > defense_nospace

フレンド

class RookEffectPiece

説明

majorPiece.h155 行で定義されています。


列挙型

anonymous enum
列挙型の値:
ONE_DIM 
DIM 

majorPiece.h159 行で定義されています。


関数

MultiInt osl::eval::ml::RookEffectBase::eval ( const NumEffectState state  )  [static]
template<osl::Player P>
MultiInt osl::eval::ml::RookEffectBase::evalOne ( const NumEffectState state,
Square  rook,
Square  myKing,
Square  opKing,
Square  up,
Square  dp,
Square  rp,
Square  lp,
bool  isP 
) [inline, static, protected]
static int osl::eval::ml::RookEffectBase::index ( int  abs_x_diff,
int  y_diff,
bool  horizontal,
bool  is_promoted 
) [inline, static, protected]

(abs_x_diff, y_diff) - 玉を原点とした時の空マスの相対位置 horizontal - 飛車の横利きがある場合 is_promoted - 竜の場合

majorPiece.h177 行で定義されています。

参照元 osl::eval::ml::RookPromoteDefense::eval(), index1(), index2(), と osl::eval::ml::RookEffectPieceKingRelative::setUp().

static int osl::eval::ml::RookEffectBase::index0 ( int  abs_x_diff,
int  y_diff,
PtypeO  ptypeO,
bool  horizontal,
bool  promoted 
) [inline, static, protected]

黒の飛車(竜)から利きのある駒 (abs_x_diff, y_diff) - 駒を基準にした玉の相対位置 abs_x_diffは絶対値 ptypeO - 駒のptypeO, 白からの場合は反転 horizontal - 飛車の横利きがある場合 is_promoted - 竜の場合

majorPiece.h190 行で定義されています。

参照元 osl::eval::ml::RookEffectPieceKingRelative::setUp().

static int osl::eval::ml::RookEffectBase::index1 ( Square  king,
Square  from,
PtypeO  ptypeO,
bool  isP 
) [inline, static, protected]

黒の飛車(竜)からの利きのある駒のindex {attack,defense}_{u,r,l,d} へのアクセスに使う from - 駒の位置 king - 玉の位置 ptypeO - 駒の種類,白からの利きの場合は反転. (BLACK,PTYPE_EDGE)もあり得る isP - 竜の場合

majorPiece.h205 行で定義されています。

参照先 osl::Square::x(), と osl::Square::y().

参照元 evalOne(), と osl::eval::ml::RookEffectPieceKingRelative::setUp().

static int osl::eval::ml::RookEffectBase::index1 ( int  x_diff,
int  y_diff,
PtypeO  ptypeO,
bool  isP 
) [inline, static, protected]

黒の飛車(竜)からの利きのある駒のindex {attack,defense}_{u,r,l,d} へのアクセスに使う (x_diff, y_diff) - 玉を基準に見た駒の相対位置 ptypeO - 駒の種類,白からの利きの場合は反転. (BLACK,PTYPE_EDGE)もあり得る isP - 竜の場合

majorPiece.h219 行で定義されています。

参照先 osl::getPtype(), index(), と osl::PTYPE_EMPTY.

static int osl::eval::ml::RookEffectBase::index2 ( int  x_diff,
int  y_diff,
bool  isP 
) [inline, static, protected]

黒の飛車(竜)がある場所は空マスでないのでその分を補正するテーブル {attack,defense}_nospace へのアクセス (x_diff, y_diff) - 玉を基準にしてみた飛車(竜)の相対位置 isP - 竜の場合

majorPiece.h246 行で定義されています。

参照先 index().

static int osl::eval::ml::RookEffectBase::index2 ( Square  king,
Square  from,
bool  isP 
) [inline, static, protected]

黒の飛車(竜)がある場所は空マスでないのでその分を補正するテーブル {attack,defense}_nospace へのアクセス king - 玉の位置 from - 飛車(竜)の位置 isP - 竜の場合

majorPiece.h234 行で定義されています。

参照先 osl::Square::x(), と osl::Square::y().

参照元 evalOne(), と osl::eval::ml::RookEffectPieceKingRelative::setUp().


フレンドと関連する関数

friend class RookEffectPiece [friend]

majorPiece.h157 行で定義されています。


変数

majorPiece.h257 行で定義されています。

参照元 evalOne(), と osl::eval::ml::RookEffectPieceKingRelative::setUp().

majorPiece.h258 行で定義されています。

参照元 evalOne(), と osl::eval::ml::RookEffectPieceKingRelative::setUp().

majorPiece.h264 行で定義されています。

参照元 evalOne(), と osl::eval::ml::RookEffectPieceKingRelative::setUp().

majorPiece.h259 行で定義されています。

参照元 evalOne(), と osl::eval::ml::RookEffectPieceKingRelative::setUp().

majorPiece.h256 行で定義されています。

参照元 evalOne(), と osl::eval::ml::RookEffectPieceKingRelative::setUp().

majorPiece.h261 行で定義されています。

参照元 evalOne(), と osl::eval::ml::RookEffectPieceKingRelative::setUp().

majorPiece.h262 行で定義されています。

参照元 evalOne(), と osl::eval::ml::RookEffectPieceKingRelative::setUp().

majorPiece.h265 行で定義されています。

参照元 evalOne(), と osl::eval::ml::RookEffectPieceKingRelative::setUp().

majorPiece.h263 行で定義されています。

参照元 evalOne(), と osl::eval::ml::RookEffectPieceKingRelative::setUp().

majorPiece.h260 行で定義されています。

参照元 evalOne(), と osl::eval::ml::RookEffectPieceKingRelative::setUp().


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義