My Project
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
osl::progress::Effect5x3Table Class Reference

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

#include <effect5x3Table.h>

Public Types

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

Public Member Functions

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 Member Functions

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

Private Attributes

CArray< unsigned int, PTYPE_SIZEonStand
 
CArray2d< unsigned int, PTYPEO_SIZE, Offset32::SIZEshortEffect
 
CArray2d< LongEffect4, PTYPEO_SIZE, Offset32::SIZElongEffect
 
CArray2d< LongEffect, 8, Offset32::SIZEblockEffect
 
CArray3d< unsigned int, 2, Square::SIZE, 5 *3 > attackEffect
 
CArray3d< unsigned int, 2, Square::SIZE, 5 *3 > defenseEffect
 

Detailed Description

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

Definition at line 35 of file effect5x3Table.h.

Member Enumeration Documentation

◆ anonymous enum

anonymous enum
Enumerator
StandPAWN 
StandLANCE 
StandKNIGHT 
StandSILVER 
StandGOLD 
StandBISHOP 
StandROOK 

Definition at line 38 of file effect5x3Table.h.

Member Function Documentation

◆ countShortEffect()

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

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

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

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

Definition at line 81 of file effect5x3Table.h.

References osl::Offset32Base< Width, Width2 >::index(), osl::PTYPEO_MIN, and shortEffect.

◆ getAttackEffect()

unsigned int osl::progress::Effect5x3Table::getAttackEffect ( Player  pl,
Square  pos,
int  x,
int  y 
) const
inline

◆ getBlockEffect()

LongEffect const & osl::progress::Effect5x3Table::getBlockEffect ( Direction  d,
Offset32  offset32 
) const
inline

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

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

Definition at line 100 of file effect5x3Table.h.

References blockEffect, and osl::Offset32Base< Width, Width2 >::index().

◆ getDefenseEffect()

unsigned int osl::progress::Effect5x3Table::getDefenseEffect ( Player  pl,
Square  pos,
int  x,
int  y 
) const
inline

◆ getLongEffect()

LongEffect4 const & osl::progress::Effect5x3Table::getLongEffect ( PtypeO  ptypeO,
Offset32  offset32 
) const
inline

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

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

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

Definition at line 91 of file effect5x3Table.h.

References osl::Offset32Base< Width, Width2 >::index(), longEffect, and osl::PTYPEO_MIN.

◆ init()

void osl::progress::Effect5x3Table::init ( )

Definition at line 236 of file effect5x3Table.cc.

◆ piecesOnStand()

unsigned int osl::progress::Effect5x3Table::piecesOnStand ( Ptype  ptype) const
inline

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

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

Parameters
ptype- 持駒のptype

Definition at line 71 of file effect5x3Table.h.

References onStand.

Referenced by osl::progress::Effect5x3::updateStand().

◆ setupAttackEffect()

void osl::progress::Effect5x3Table::setupAttackEffect ( )
private

◆ setupBlockEffect()

void osl::progress::Effect5x3Table::setupBlockEffect ( )
private

◆ setupDefenseEffect()

void osl::progress::Effect5x3Table::setupDefenseEffect ( )
private

◆ setupLongEffect()

void osl::progress::Effect5x3Table::setupLongEffect ( )
private

◆ setupOnStand()

void osl::progress::Effect5x3Table::setupOnStand ( )
private

◆ setupShortEffect()

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

Member Data Documentation

◆ attackEffect

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

Definition at line 52 of file effect5x3Table.h.

Referenced by getAttackEffect().

◆ blockEffect

CArray2d<LongEffect,8,Offset32::SIZE> osl::progress::Effect5x3Table::blockEffect
private

Definition at line 51 of file effect5x3Table.h.

Referenced by getBlockEffect().

◆ defenseEffect

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

Definition at line 53 of file effect5x3Table.h.

Referenced by getDefenseEffect().

◆ longEffect

CArray2d<LongEffect4,PTYPEO_SIZE,Offset32::SIZE> osl::progress::Effect5x3Table::longEffect
private

Definition at line 50 of file effect5x3Table.h.

Referenced by getLongEffect().

◆ onStand

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

Definition at line 48 of file effect5x3Table.h.

Referenced by piecesOnStand(), and setupOnStand().

◆ shortEffect

CArray2d<unsigned int,PTYPEO_SIZE,Offset32::SIZE> osl::progress::Effect5x3Table::shortEffect
private

Definition at line 49 of file effect5x3Table.h.

Referenced by countShortEffect().


The documentation for this class was generated from the following files: