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 | |
| Effect5x3Table () | |
| unsigned int | piecesOnStand (Ptype ptype) const |
| 持駒のPtypeごとの寄与を表すテーブルの参照. More... | |
| unsigned int | countShortEffect (PtypeO ptypeO, Offset32 offset32) const |
| 5x3領域への短い利きの数の計算. More... | |
| LongEffect4 const & | getLongEffect (PtypeO ptypeO, Offset32 offset32) const |
| 5x3領域へのPtypeOを限定した長い利きの計算. More... | |
| LongEffect const & | getBlockEffect (Direction d, Offset32 offset32) const |
| 5x3領域へのdirectionを限定した長い利きの計算. More... | |
| 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 39 of file effect5x3Table.h.
| anonymous enum |
| Enumerator | |
|---|---|
| StandPAWN | |
| StandLANCE | |
| StandKNIGHT | |
| StandSILVER | |
| StandGOLD | |
| StandBISHOP | |
| StandROOK | |
Definition at line 42 of file effect5x3Table.h.
| osl::progress::Effect5x3Table::Effect5x3Table | ( | ) |
Definition at line 232 of file effect5x3Table.cc.
|
inline |
5x3領域への短い利きの数の計算.
ただし8倍したものを返す
| ptypeO | - 利きをつけようとする駒のptypeO |
| o32 | - (to - from)のOffset32版 |
Definition at line 85 of file effect5x3Table.h.
References osl::Offset32Base< Width, Width2 >::index(), osl::PTYPEO_MIN, and shortEffect.
|
inline |
Definition at line 109 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 104 of file effect5x3Table.h.
References blockEffect, and osl::Offset32Base< Width, Width2 >::index().
|
inline |
Definition at line 114 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 95 of file effect5x3Table.h.
References osl::Offset32Base< Width, Width2 >::index(), longEffect, and osl::PTYPEO_MIN.
|
inline |
持駒のPtypeごとの寄与を表すテーブルの参照.
以下の重みで計算 PAWN 1 LANCE 4 KNIGHT,SILVER,GOLD 8 BISHOP,ROOK 12
| ptype | - 持駒のptype |
Definition at line 75 of file effect5x3Table.h.
References onStand.
Referenced by osl::progress::Effect5x3::updateStand().
|
private |
Definition at line 173 of file effect5x3Table.cc.
References osl::Centering5x3::adjustCenter(), osl::BLACK, center, osl::Square::index(), osl::Square::rotate180(), osl::WHITE, osl::Square::x(), and osl::Square::y().
|
private |
Definition at line 142 of file effect5x3Table.cc.
References osl::alt(), osl::BLACK, and osl::Offset32Base< Width, Width2 >::index().
|
private |
Definition at line 202 of file effect5x3Table.cc.
References osl::Centering5x3::adjustCenter(), osl::BLACK, center, osl::Square::index(), osl::Square::rotate180(), osl::WHITE, osl::Square::x(), and osl::Square::y().
|
private |
Definition at line 157 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 110 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 127 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 56 of file effect5x3Table.h.
Referenced by getAttackEffect().
|
private |
Definition at line 55 of file effect5x3Table.h.
Referenced by getBlockEffect().
|
private |
Definition at line 57 of file effect5x3Table.h.
Referenced by getDefenseEffect().
|
private |
Definition at line 54 of file effect5x3Table.h.
Referenced by getLongEffect().
|
private |
Definition at line 52 of file effect5x3Table.h.
Referenced by piecesOnStand(), and setupOnStand().
|
private |
Definition at line 53 of file effect5x3Table.h.
Referenced by countShortEffect().
1.8.4