Public 型 | Public メソッド | Private メソッド | Private 変数

クラス osl::progress::Effect5x3Table

Effect5x3の差分計算で使うテーブル. [詳細]

#include <effect5x3Table.h>

osl::progress::Effect5x3Tableのコラボレーション図
Collaboration graph
[凡例]

すべてのメンバ一覧

Public 型

enum  {
  StandPAWN = 1, StandLANCE = 4, StandKNIGHT = 8, StandSILVER = 8,
  StandGOLD = 8, StandBISHOP = 12, StandROOK = 12
}

Public メソッド

void init ()
unsigned int piecesOnStand (Ptype ptype) const
 持駒のPtypeごとの寄与を表すテーブルの参照.
unsigned int countShortEffect (PtypeO ptypeO, Offset32 offset32) const
 5x3領域への短い利きの数の計算.
LongEffect4 const & getLongEffect (PtypeO ptypeO, Offset32 offset32) const
 5x3領域へのPtypeOを限定した長い利きの計算.
LongEffect const & getBlockEffect (Direction d, Offset32 offset32) const
 5x3領域へのdirectionを限定した長い利きの計算.
unsigned int getAttackEffect (Player pl, Square pos, int x, int y) const
unsigned int getDefenseEffect (Player pl, Square pos, int x, int y) const

Private メソッド

void setupOnStand ()
void setupShortEffect ()
void setupLongEffect ()
void setupBlockEffect ()
void setupAttackEffect ()
void setupDefenseEffect ()

Private 変数

CArray< unsigned int, PTYPE_SIZEonStand
CArray2d< unsigned int,
PTYPEO_SIZE, Offset32::SIZE
shortEffect
CArray2d< LongEffect4,
PTYPEO_SIZE, Offset32::SIZE
longEffect
CArray2d< LongEffect,
8, Offset32::SIZE
blockEffect
CArray3d< unsigned int,
2, Square::SIZE, 5 *3 > 
attackEffect
CArray3d< unsigned int,
2, Square::SIZE, 5 *3 > 
defenseEffect

説明

Effect5x3の差分計算で使うテーブル.

effect5x3Table.h35 行で定義されています。


列挙型

anonymous enum
列挙型の値:
StandPAWN 
StandLANCE 
StandKNIGHT 
StandSILVER 
StandGOLD 
StandBISHOP 
StandROOK 

effect5x3Table.h38 行で定義されています。


関数

unsigned int osl::progress::Effect5x3Table::countShortEffect ( PtypeO  ptypeO,
Offset32  offset32 
) const [inline]

5x3領域への短い利きの数の計算.

ただし8倍したものを返す

引数:
ptypeO - 利きをつけようとする駒のptypeO
o32 - (to - from)のOffset32版

effect5x3Table.h81 行で定義されています。

参照先 osl::Offset32Base< Width, Width2 >::index(), と shortEffect.

unsigned int osl::progress::Effect5x3Table::getAttackEffect ( Player  pl,
Square  pos,
int  x,
int  y 
) const [inline]
LongEffect const& osl::progress::Effect5x3Table::getBlockEffect ( Direction  d,
Offset32  offset32 
) const [inline]

5x3領域へのdirectionを限定した長い利きの計算.

引数:
d - 長い利きの方向
o32 - (to - from)のOffset32版

effect5x3Table.h100 行で定義されています。

参照先 blockEffect, と osl::Offset32Base< Width, Width2 >::index().

unsigned int osl::progress::Effect5x3Table::getDefenseEffect ( Player  pl,
Square  pos,
int  x,
int  y 
) const [inline]
LongEffect4 const& osl::progress::Effect5x3Table::getLongEffect ( PtypeO  ptypeO,
Offset32  offset32 
) const [inline]

5x3領域へのPtypeOを限定した長い利きの計算.

ただし8倍したものを返す

引数:
ptypeO - 利きをつけようとする駒のptypeO
o32 - (to - from)のOffset32版

effect5x3Table.h91 行で定義されています。

参照先 osl::Offset32Base< Width, Width2 >::index(), と longEffect.

void osl::progress::Effect5x3Table::init (  ) 
unsigned int osl::progress::Effect5x3Table::piecesOnStand ( Ptype  ptype  )  const [inline]

持駒のPtypeごとの寄与を表すテーブルの参照.

以下の重みで計算 PAWN 1 LANCE 4 KNIGHT,SILVER,GOLD 8 BISHOP,ROOK 12

引数:
ptype - 持駒のptype

effect5x3Table.h71 行で定義されています。

参照先 onStand.

参照元 osl::progress::Effect5x3::updateStand().

void osl::progress::Effect5x3Table::setupAttackEffect (  )  [private]
void osl::progress::Effect5x3Table::setupBlockEffect (  )  [private]

effect5x3Table.cc146 行で定義されています。

参照先 osl::alt(), blockEffect, と osl::Offset32Base< Width, Width2 >::index().

参照元 init().

void osl::progress::Effect5x3Table::setupDefenseEffect (  )  [private]
void osl::progress::Effect5x3Table::setupLongEffect (  )  [private]
void osl::progress::Effect5x3Table::setupOnStand (  )  [private]

effect5x3Table.cc114 行で定義されています。

参照先 onStand, osl::PTYPE_PIECE_MIN, と osl::unpromote().

参照元 init().

void osl::progress::Effect5x3Table::setupShortEffect (  )  [private]

変数

CArray3d<unsigned int,2,Square::SIZE,5*3> osl::progress::Effect5x3Table::attackEffect [private]

effect5x3Table.h52 行で定義されています。

参照元 getAttackEffect(), と setupAttackEffect().

effect5x3Table.h51 行で定義されています。

参照元 getBlockEffect(), と setupBlockEffect().

CArray3d<unsigned int,2,Square::SIZE,5*3> osl::progress::Effect5x3Table::defenseEffect [private]

effect5x3Table.h53 行で定義されています。

参照元 getDefenseEffect(), と setupDefenseEffect().

effect5x3Table.h50 行で定義されています。

参照元 getLongEffect(), と setupLongEffect().

effect5x3Table.h48 行で定義されています。

参照元 piecesOnStand(), と setupOnStand().

effect5x3Table.h49 行で定義されています。

参照元 countShortEffect(), と setupShortEffect().


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