クラス 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 メソッド

 Effect5x3Table ()
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, Position pos, int x, int y) const
unsigned int getDefenseEffect (Player pl, Position 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, Position::SIZE, 5 *3 > 
attackEffect
CArray3d< unsigned int,
2, Position::SIZE, 5 *3 > 
defenseEffect

説明

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

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


列挙型

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

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


コンストラクタとデストラクタ

osl::progress::Effect5x3Table::Effect5x3Table (  ) 

関数

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

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

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

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

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

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

unsigned int osl::progress::Effect5x3Table::getAttackEffect ( Player  pl,
Position  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.h104 行で定義されています。

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

unsigned int osl::progress::Effect5x3Table::getDefenseEffect ( Player  pl,
Position  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.h95 行で定義されています。

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

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.h75 行で定義されています。

参照先 onStand.

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

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

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

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

参照元 Effect5x3Table().

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

変数

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

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

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

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

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

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

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

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

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

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

CArray<unsigned int,PTYPE_SIZE> osl::progress::Effect5x3Table::onStand [private]

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

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

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

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


このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義
Sun May 16 09:58:33 2010に生成されました。  doxygen 1.6.3