My Project
|
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 |
Effect5x3の差分計算で使うテーブル.
Definition at line 35 of file effect5x3Table.h.
anonymous enum |
Enumerator | |
---|---|
StandPAWN | |
StandLANCE | |
StandKNIGHT | |
StandSILVER | |
StandGOLD | |
StandBISHOP | |
StandROOK |
Definition at line 38 of file effect5x3Table.h.
|
inline |
5x3領域への短い利きの数の計算.
ただし8倍したものを返す
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.
|
inline |
Definition at line 105 of file effect5x3Table.h.
References attackEffect, osl::Square::index(), and osl::Square::isOnBoard().
Referenced by osl::progress::Effect5x3::makeProgressArea(), and osl::progress::Effect5x3WithBonus::makeProgressAreaBonus().
|
inline |
5x3領域へのdirectionを限定した長い利きの計算.
d | - 長い利きの方向 |
o32 | - (to - from)のOffset32版 |
Definition at line 100 of file effect5x3Table.h.
References blockEffect, and osl::Offset32Base< Width, Width2 >::index().
|
inline |
Definition at line 110 of file effect5x3Table.h.
References defenseEffect, osl::Square::index(), and osl::Square::isOnBoard().
Referenced by osl::progress::Effect5x3d::makeProgress().
|
inline |
5x3領域へのPtypeOを限定した長い利きの計算.
ただし8倍したものを返す
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.
void osl::progress::Effect5x3Table::init | ( | ) |
Definition at line 236 of file effect5x3Table.cc.
|
inline |
持駒のPtypeごとの寄与を表すテーブルの参照.
以下の重みで計算 PAWN 1 LANCE 4 KNIGHT,SILVER,GOLD 8 BISHOP,ROOK 12
ptype | - 持駒のptype |
Definition at line 71 of file effect5x3Table.h.
References onStand.
Referenced by osl::progress::Effect5x3::updateStand().
|
private |
Definition at line 177 of file effect5x3Table.cc.
References osl::Centering5x3::adjustCenter(), osl::BLACK, osl::Square::index(), osl::Square::rotate180(), osl::WHITE, osl::Square::x(), and osl::Square::y().
|
private |
Definition at line 146 of file effect5x3Table.cc.
References osl::alt(), osl::BLACK, and osl::Offset32Base< Width, Width2 >::index().
|
private |
Definition at line 206 of file effect5x3Table.cc.
References osl::Centering5x3::adjustCenter(), osl::BLACK, osl::Square::index(), osl::Square::rotate180(), osl::WHITE, osl::Square::x(), and osl::Square::y().
|
private |
Definition at line 161 of file effect5x3Table.cc.
References osl::alt(), osl::BLACK, osl::Offset32Base< Width, Width2 >::index(), osl::newPtypeO(), osl::PTYPE_MAX, osl::PTYPE_PIECE_MIN, and osl::ptypeOIndex().
|
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().
|
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, and osl::ptypeOIndex().
|
private |
Definition at line 52 of file effect5x3Table.h.
Referenced by getAttackEffect().
|
private |
Definition at line 51 of file effect5x3Table.h.
Referenced by getBlockEffect().
|
private |
Definition at line 53 of file effect5x3Table.h.
Referenced by getDefenseEffect().
|
private |
Definition at line 50 of file effect5x3Table.h.
Referenced by getLongEffect().
|
private |
Definition at line 48 of file effect5x3Table.h.
Referenced by piecesOnStand(), and setupOnStand().
|
private |
Definition at line 49 of file effect5x3Table.h.
Referenced by countShortEffect().