My Project
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

Definition at line 105 of file effect5x3Table.h.

References attackEffect, osl::Square::index(), and osl::Square::isOnBoard().

◆ 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

Definition at line 110 of file effect5x3Table.h.

References defenseEffect, osl::Square::index(), and osl::Square::isOnBoard().

◆ 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 ( )

◆ 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.

◆ setupAttackEffect()

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

◆ setupBlockEffect()

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

Definition at line 146 of file effect5x3Table.cc.

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

Referenced by init().

◆ 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(), and setupAttackEffect().

◆ blockEffect

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

Definition at line 51 of file effect5x3Table.h.

Referenced by getBlockEffect(), and setupBlockEffect().

◆ 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(), and setupDefenseEffect().

◆ longEffect

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

Definition at line 50 of file effect5x3Table.h.

Referenced by getLongEffect(), and setupLongEffect().

◆ 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(), and setupShortEffect().


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