My Project
|
玉の周囲5x3の領域の利きの数と持駒から計算した進行度. More...
#include <effect5x3.h>
Public Member Functions | |
Effect5x3 (const NumEffectState &state) | |
void | changeTurn () |
int | progress (Player p) const |
const Progress16 | progress16 () const |
const Progress16 | progress16 (Player p) const |
Effect5x3 | expect (const NumEffectState &state, Move move) const |
void | update (const NumEffectState &new_state, Move last_move) |
Static Public Member Functions | |
static void | updateStand (int &old_stand, Move last_move) |
static int | makeProgressAll (Player defense, const NumEffectState &state, Square king) |
static int | makeProgressArea (Player attack, const NumEffectState &state, Square king) |
static int | makeProgressStand (Player attack, const NumEffectState &state) |
static int | makeProgress (Player defense, const NumEffectState &state) |
王の位置を指定したprogressの計算. | |
static int | makeProgress (const NumEffectState &state) |
static const Progress16 | progress16 (int progress) |
0-15 の値を返す | |
static const Progress16 | progress16each (int progress) |
0-15 の値を返す. | |
Protected Attributes | |
CArray< int, 2 > | progresses |
CArray< int, 2 > | stand_progresses |
CArray< int, 2 > | area_progresses |
玉の周囲5x3の領域の利きの数と持駒から計算した進行度.
5x3領域は盤面内になるように補正する. 黒と白の両方の進行度を持つ. 持駒の重みは PAWN 1 LANCE 4 KNIGHT,SILVER,GOLD 8 BISHOP,ROOK 12 利きの数は8の重みを持つ.
Definition at line 26 of file effect5x3.h.
|
explicit |
Definition at line 6 of file effect5x3.cc.
References osl::BLACK, osl::SimpleState::kingSquare(), and osl::WHITE.
|
inline |
Definition at line 74 of file effect5x3.h.
osl::progress::Effect5x3 osl::progress::Effect5x3::expect | ( | const NumEffectState & | state, |
Move | move | ||
) | const |
Definition at line 97 of file effect5x3.cc.
References osl::alt(), osl::Move::capturePtype(), osl::Move::player(), progresses, osl::PTYPE_EMPTY, and stand_progresses.
|
inlinestatic |
Definition at line 47 of file effect5x3.h.
References osl::BLACK, makeProgress(), and osl::WHITE.
|
inlinestatic |
王の位置を指定したprogressの計算.
defense | - こちらの玉に注目したprogress |
state | - 盤面 |
king | - 玉の位置がここにあるとする. 一般には,盤面から玉の位置は特定できるが,差分計算の途中では 一致しないとして呼び出すことがある. |
Definition at line 44 of file effect5x3.h.
References osl::SimpleState::kingSquare(), and makeProgressAll().
Referenced by makeProgress().
|
static |
|
static |
Definition at line 25 of file effect5x3.cc.
References osl::NumEffectState::countEffect(), osl::progress::Effect5x3_Table, osl::progress::Effect5x3Table::getAttackEffect(), osl::Square::x(), and osl::Square::y().
|
static |
Definition at line 49 of file effect5x3.cc.
References osl::BISHOP, osl::SimpleState::countPiecesOnStand(), osl::GOLD, osl::KNIGHT, osl::LANCE, osl::PAWN, osl::ROOK, and osl::SILVER.
|
inline |
|
inline |
Definition at line 76 of file effect5x3.h.
References progress16(), and progresses.
Referenced by progress16().
|
inlinestatic |
|
inline |
Definition at line 80 of file effect5x3.h.
References progress(), and progress16each().
|
inlinestatic |
0-15 の値を返す.
プレイヤ個人毎
Definition at line 64 of file effect5x3.h.
Referenced by progress16(), and osl::progress::Effect5x3WithBonus::progress16bonus().
void osl::progress::Effect5x3::update | ( | const NumEffectState & | new_state, |
Move | last_move | ||
) |
Definition at line 79 of file effect5x3.cc.
References osl::alt(), osl::container::BoardMask::anyInRange(), osl::BLACK, osl::NumEffectState::changedEffects(), osl::KING, osl::SimpleState::kingSquare(), osl::container::BoardMaskTable5x3Center::mask(), osl::Move::player(), osl::Move::ptype(), osl::SimpleState::turn(), and osl::WHITE.
Referenced by osl::progress::Effect5x3WithBonus::update().
|
static |
Definition at line 64 of file effect5x3.cc.
References osl::Move::capturePtype(), osl::progress::Effect5x3_Table, osl::Move::isDrop(), osl::progress::Effect5x3Table::piecesOnStand(), osl::Move::ptype(), osl::PTYPE_EMPTY, and osl::unpromote().
Referenced by osl::progress::Effect5x3WithBonus::updateStand().
|
protected |
Definition at line 71 of file effect5x3.h.
|
protected |
Definition at line 71 of file effect5x3.h.
Referenced by expect(), osl::progress::Effect5x3WithBonus::expect(), progress(), and progress16().
|
protected |
Definition at line 71 of file effect5x3.h.
Referenced by expect(), osl::progress::Effect5x3WithBonus::expect(), osl::progress::Effect5x3WithBonus::progress16bonus(), and osl::progress::Effect5x3WithBonus::updateStand().