Effect5x3の差分計算で使うテーブル. [詳細]
#include <effect5x3Table.h>

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_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, Position::SIZE, 5 *3 > | attackEffect |
| CArray3d< unsigned int, 2, Position::SIZE, 5 *3 > | defenseEffect |
Effect5x3の差分計算で使うテーブル.
effect5x3Table.h の 39 行で定義されています。
| anonymous enum |
effect5x3Table.h の 42 行で定義されています。
| osl::progress::Effect5x3Table::Effect5x3Table | ( | ) |
effect5x3Table.cc の 232 行で定義されています。
参照先 setupAttackEffect(), setupBlockEffect(), setupDefenseEffect(), setupLongEffect(), setupOnStand(), と setupShortEffect().
| unsigned int osl::progress::Effect5x3Table::countShortEffect | ( | PtypeO | ptypeO, | |
| Offset32 | offset32 | |||
| ) | const [inline] |
5x3領域への短い利きの数の計算.
ただし8倍したものを返す
| ptypeO | - 利きをつけようとする駒のptypeO | |
| o32 | - (to - from)のOffset32版 |
effect5x3Table.h の 85 行で定義されています。
参照先 osl::Offset32Base< Width, Width2 >::index(), osl::PTYPEO_MIN, と shortEffect.
| LongEffect const& osl::progress::Effect5x3Table::getBlockEffect | ( | Direction | d, | |
| Offset32 | offset32 | |||
| ) | const [inline] |
5x3領域へのdirectionを限定した長い利きの計算.
| d | - 長い利きの方向 | |
| o32 | - (to - from)のOffset32版 |
effect5x3Table.h の 104 行で定義されています。
参照先 blockEffect, と osl::Offset32Base< Width, Width2 >::index().
| unsigned int osl::progress::Effect5x3Table::getDefenseEffect | ( | Player | pl, | |
| Position | pos, | |||
| int | x, | |||
| int | y | |||
| ) | const [inline] |
effect5x3Table.h の 114 行で定義されています。
参照先 defenseEffect, osl::Position::index(), と osl::Position::isOnBoard().
| LongEffect4 const& osl::progress::Effect5x3Table::getLongEffect | ( | PtypeO | ptypeO, | |
| Offset32 | offset32 | |||
| ) | const [inline] |
5x3領域へのPtypeOを限定した長い利きの計算.
ただし8倍したものを返す
| ptypeO | - 利きをつけようとする駒のptypeO | |
| o32 | - (to - from)のOffset32版 |
effect5x3Table.h の 95 行で定義されています。
参照先 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.h の 75 行で定義されています。
参照先 onStand.
| void osl::progress::Effect5x3Table::setupAttackEffect | ( | ) | [private] |
| void osl::progress::Effect5x3Table::setupBlockEffect | ( | ) | [private] |
effect5x3Table.cc の 142 行で定義されています。
参照先 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] |
effect5x3Table.cc の 110 行で定義されています。
参照先 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, と osl::unpromote().
参照元 Effect5x3Table().
| void osl::progress::Effect5x3Table::setupShortEffect | ( | ) | [private] |
CArray3d<unsigned int,2,Position::SIZE,5*3> osl::progress::Effect5x3Table::attackEffect [private] |
effect5x3Table.h の 56 行で定義されています。
参照元 getAttackEffect(), と setupAttackEffect().
CArray2d<LongEffect,8,Offset32::SIZE> osl::progress::Effect5x3Table::blockEffect [private] |
effect5x3Table.h の 55 行で定義されています。
参照元 getBlockEffect(), と setupBlockEffect().
CArray3d<unsigned int,2,Position::SIZE,5*3> osl::progress::Effect5x3Table::defenseEffect [private] |
effect5x3Table.h の 57 行で定義されています。
CArray2d<LongEffect4,PTYPEO_SIZE,Offset32::SIZE> osl::progress::Effect5x3Table::longEffect [private] |
effect5x3Table.h の 54 行で定義されています。
参照元 getLongEffect(), と setupLongEffect().
CArray<unsigned int,PTYPE_SIZE> osl::progress::Effect5x3Table::onStand [private] |
effect5x3Table.h の 52 行で定義されています。
参照元 piecesOnStand(), と setupOnStand().
CArray2d<unsigned int,PTYPEO_SIZE,Offset32::SIZE> osl::progress::Effect5x3Table::shortEffect [private] |
effect5x3Table.h の 53 行で定義されています。
参照元 countShortEffect(), と setupShortEffect().
1.6.3