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_SIZE > | onStand
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

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

Definition at line 236 of file effect5x3Table.cc.

References setupAttackEffect(), setupBlockEffect(), setupDefenseEffect(), setupLongEffect(), setupOnStand(), and setupShortEffect().

## 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

Definition at line 177 of file effect5x3Table.cc.

References osl::Centering5x3::adjustCenter(), attackEffect, osl::BLACK, osl::Square::index(), osl::Square::rotate180(), osl::WHITE, osl::Square::x(), and osl::Square::y().

Referenced by init().

## 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

Definition at line 206 of file effect5x3Table.cc.

References osl::Centering5x3::adjustCenter(), osl::BLACK, defenseEffect, osl::Square::index(), osl::Square::rotate180(), osl::WHITE, osl::Square::x(), and osl::Square::y().

Referenced by init().

## setupLongEffect()

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

private

Definition at line 161 of file effect5x3Table.cc.

References osl::alt(), osl::BLACK, osl::Offset32Base< Width, Width2 >::index(), longEffect, osl::newPtypeO(), osl::PTYPE_MAX, osl::PTYPE_PIECE_MIN, and osl::ptypeOIndex().

Referenced by init().

## setupOnStand()

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

private

Definition at line 114 of file effect5x3Table.cc.

References osl::BISHOP, osl::GOLD, osl::KNIGHT, osl::LANCE, onStand, osl::PAWN, osl::PTYPE_MAX, osl::PTYPE_PIECE_MIN, osl::ROOK, osl::SILVER, StandBISHOP, StandGOLD, StandKNIGHT, StandLANCE, StandPAWN, StandROOK, StandSILVER, and osl::unpromote().

Referenced by init().

## setupShortEffect()

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

private

Definition at line 131 of file effect5x3Table.cc.

References osl::alt(), osl::BLACK, osl::Offset32Base< Width, Width2 >::index(), osl::newPtypeO(), osl::PTYPE_MAX, osl::PTYPE_PIECE_MIN, osl::ptypeOIndex(), and shortEffect.

Referenced by init().

## 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:

- effect5x3Table.h
- effect5x3Table.cc