Effect5x3の差分計算で使うテーブル. [詳細]
#include <effect5x3Table.h>
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_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 |
Effect5x3の差分計算で使うテーブル.
effect5x3Table.h の 35 行で定義されています。
anonymous enum |
effect5x3Table.h の 38 行で定義されています。
unsigned int osl::progress::Effect5x3Table::countShortEffect | ( | PtypeO | ptypeO, | |
Offset32 | offset32 | |||
) | const [inline] |
5x3領域への短い利きの数の計算.
ただし8倍したものを返す
ptypeO | - 利きをつけようとする駒のptypeO | |
o32 | - (to - from)のOffset32版 |
effect5x3Table.h の 81 行で定義されています。
参照先 osl::Offset32Base< Width, Width2 >::index(), と shortEffect.
LongEffect const& osl::progress::Effect5x3Table::getBlockEffect | ( | Direction | d, | |
Offset32 | offset32 | |||
) | const [inline] |
5x3領域へのdirectionを限定した長い利きの計算.
d | - 長い利きの方向 | |
o32 | - (to - from)のOffset32版 |
effect5x3Table.h の 100 行で定義されています。
参照先 blockEffect, と osl::Offset32Base< Width, Width2 >::index().
unsigned int osl::progress::Effect5x3Table::getDefenseEffect | ( | Player | pl, | |
Square | pos, | |||
int | x, | |||
int | y | |||
) | const [inline] |
effect5x3Table.h の 110 行で定義されています。
参照先 defenseEffect, osl::Square::index(), と osl::Square::isOnBoard().
LongEffect4 const& osl::progress::Effect5x3Table::getLongEffect | ( | PtypeO | ptypeO, | |
Offset32 | offset32 | |||
) | const [inline] |
5x3領域へのPtypeOを限定した長い利きの計算.
ただし8倍したものを返す
ptypeO | - 利きをつけようとする駒のptypeO | |
o32 | - (to - from)のOffset32版 |
effect5x3Table.h の 91 行で定義されています。
参照先 osl::Offset32Base< Width, Width2 >::index(), と longEffect.
void osl::progress::Effect5x3Table::init | ( | ) |
effect5x3Table.cc の 236 行で定義されています。
参照先 setupAttackEffect(), setupBlockEffect(), setupDefenseEffect(), setupLongEffect(), setupOnStand(), と setupShortEffect().
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.h の 71 行で定義されています。
参照先 onStand.
void osl::progress::Effect5x3Table::setupAttackEffect | ( | ) | [private] |
effect5x3Table.cc の 177 行で定義されています。
参照先 osl::Centering5x3::adjustCenter(), attackEffect, osl::Square::index(), osl::Square::rotate180(), osl::Square::x(), と osl::Square::y().
参照元 init().
void osl::progress::Effect5x3Table::setupBlockEffect | ( | ) | [private] |
effect5x3Table.cc の 146 行で定義されています。
参照先 osl::alt(), blockEffect, と osl::Offset32Base< Width, Width2 >::index().
参照元 init().
void osl::progress::Effect5x3Table::setupDefenseEffect | ( | ) | [private] |
effect5x3Table.cc の 206 行で定義されています。
参照先 osl::Centering5x3::adjustCenter(), defenseEffect, osl::Square::index(), osl::Square::rotate180(), osl::Square::x(), と osl::Square::y().
参照元 init().
void osl::progress::Effect5x3Table::setupLongEffect | ( | ) | [private] |
effect5x3Table.cc の 161 行で定義されています。
参照先 osl::alt(), osl::Offset32Base< Width, Width2 >::index(), longEffect, osl::newPtypeO(), osl::PTYPE_PIECE_MIN, と osl::ptypeOIndex().
参照元 init().
void osl::progress::Effect5x3Table::setupOnStand | ( | ) | [private] |
effect5x3Table.cc の 114 行で定義されています。
参照先 onStand, osl::PTYPE_PIECE_MIN, と osl::unpromote().
参照元 init().
void osl::progress::Effect5x3Table::setupShortEffect | ( | ) | [private] |
effect5x3Table.cc の 131 行で定義されています。
参照先 osl::alt(), osl::Offset32Base< Width, Width2 >::index(), osl::newPtypeO(), osl::PTYPE_PIECE_MIN, osl::ptypeOIndex(), と shortEffect.
参照元 init().
CArray3d<unsigned int,2,Square::SIZE,5*3> osl::progress::Effect5x3Table::attackEffect [private] |
effect5x3Table.h の 52 行で定義されています。
参照元 getAttackEffect(), と setupAttackEffect().
CArray2d<LongEffect,8,Offset32::SIZE> osl::progress::Effect5x3Table::blockEffect [private] |
effect5x3Table.h の 51 行で定義されています。
参照元 getBlockEffect(), と setupBlockEffect().
CArray3d<unsigned int,2,Square::SIZE,5*3> osl::progress::Effect5x3Table::defenseEffect [private] |
effect5x3Table.h の 53 行で定義されています。
CArray2d<LongEffect4,PTYPEO_SIZE,Offset32::SIZE> osl::progress::Effect5x3Table::longEffect [private] |
effect5x3Table.h の 50 行で定義されています。
参照元 getLongEffect(), と setupLongEffect().
CArray<unsigned int,PTYPE_SIZE> osl::progress::Effect5x3Table::onStand [private] |
effect5x3Table.h の 48 行で定義されています。
参照元 piecesOnStand(), と setupOnStand().
CArray2d<unsigned int,PTYPEO_SIZE,Offset32::SIZE> osl::progress::Effect5x3Table::shortEffect [private] |
effect5x3Table.h の 49 行で定義されています。
参照元 countShortEffect(), と setupShortEffect().