玉の周囲5x3の領域の利きの数と持駒から計算した進行度. [詳細]
#include <effect5x3.h>
Public メソッド | |
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 メソッド | |
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 変数 | |
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の重みを持つ.
effect5x3.h の 26 行で定義されています。
osl::progress::Effect5x3::Effect5x3 | ( | const NumEffectState & | state | ) | [explicit] |
effect5x3.cc の 7 行で定義されています。
参照先 area_progresses, osl::BLACK, osl::SimpleState::kingSquare(), makeProgressArea(), makeProgressStand(), progresses, stand_progresses, と osl::WHITE.
void osl::progress::Effect5x3::changeTurn | ( | ) | [inline] |
effect5x3.h の 74 行で定義されています。
osl::progress::Effect5x3 osl::progress::Effect5x3::expect | ( | const NumEffectState & | state, | |
Move | move | |||
) | const |
osl::progress::Effect5x3WithBonusで再定義されています。
effect5x3.cc の 98 行で定義されています。
参照先 osl::alt(), osl::Move::capturePtype(), osl::Move::player(), progresses, stand_progresses, と updateStand().
static int osl::progress::Effect5x3::makeProgress | ( | Player | defense, | |
const NumEffectState & | state | |||
) | [inline, static] |
王の位置を指定したprogressの計算.
defense | - こちらの玉に注目したprogress | |
state | - 盤面 | |
king | - 玉の位置がここにあるとする. 一般には,盤面から玉の位置は特定できるが,差分計算の途中では 一致しないとして呼び出すことがある. |
effect5x3.h の 44 行で定義されています。
参照先 osl::SimpleState::kingSquare(), と makeProgressAll().
参照元 makeProgress().
static int osl::progress::Effect5x3::makeProgress | ( | const NumEffectState & | state | ) | [inline, static] |
effect5x3.h の 47 行で定義されています。
参照先 osl::BLACK, makeProgress(), と osl::WHITE.
int osl::progress::Effect5x3::makeProgressAll | ( | Player | defense, | |
const NumEffectState & | state, | |||
Square | king | |||
) | [static] |
effect5x3.cc の 18 行で定義されています。
参照先 osl::alt(), makeProgressArea(), と makeProgressStand().
参照元 makeProgress().
int osl::progress::Effect5x3::makeProgressArea | ( | Player | attack, | |
const NumEffectState & | state, | |||
Square | king | |||
) | [static] |
int osl::progress::Effect5x3::makeProgressStand | ( | Player | attack, | |
const NumEffectState & | state | |||
) | [static] |
effect5x3.cc の 50 行で定義されています。
参照先 osl::BISHOP, osl::SimpleState::countPiecesOnStand(), osl::GOLD, osl::KNIGHT, osl::LANCE, osl::PAWN, osl::ROOK, osl::SILVER, osl::progress::Effect5x3Table::StandBISHOP, osl::progress::Effect5x3Table::StandGOLD, osl::progress::Effect5x3Table::StandKNIGHT, osl::progress::Effect5x3Table::StandLANCE, osl::progress::Effect5x3Table::StandPAWN, osl::progress::Effect5x3Table::StandROOK, と osl::progress::Effect5x3Table::StandSILVER.
参照元 Effect5x3(), と makeProgressAll().
int osl::progress::Effect5x3::progress | ( | Player | p | ) | const [inline] |
static const Progress16 osl::progress::Effect5x3::progress16 | ( | int | progress | ) | [inline, static] |
const Progress16 osl::progress::Effect5x3::progress16 | ( | Player | p | ) | const [inline] |
effect5x3.h の 80 行で定義されています。
参照先 progress(), と progress16each().
const Progress16 osl::progress::Effect5x3::progress16 | ( | ) | const [inline] |
effect5x3.h の 76 行で定義されています。
参照先 progresses.
static const Progress16 osl::progress::Effect5x3::progress16each | ( | int | progress | ) | [inline, static] |
0-15 の値を返す.
プレイヤ個人毎
effect5x3.h の 64 行で定義されています。
参照先 osl::eval::min().
参照元 progress16(), と osl::progress::Effect5x3WithBonus::progress16bonus().
void osl::progress::Effect5x3::update | ( | const NumEffectState & | new_state, | |
Move | last_move | |||
) |
osl::progress::Effect5x3WithBonusで再定義されています。
effect5x3.cc の 80 行で定義されています。
参照先 osl::alt(), area_progresses, osl::BLACK, osl::container::Board_Mask_Table5x3_Center, osl::NumEffectState::changedEffects(), osl::SimpleState::kingSquare(), makeProgressArea(), osl::Move::player(), progresses, osl::Move::ptype(), stand_progresses, osl::SimpleState::turn(), updateStand(), と osl::WHITE.
void osl::progress::Effect5x3::updateStand | ( | int & | old_stand, | |
Move | last_move | |||
) | [static] |
CArray<int,2> osl::progress::Effect5x3::area_progresses [protected] |
effect5x3.h の 71 行で定義されています。
参照元 Effect5x3(), と update().
CArray<int,2> osl::progress::Effect5x3::progresses [protected] |
effect5x3.h の 71 行で定義されています。
参照元 Effect5x3(), osl::progress::Effect5x3WithBonus::expect(), expect(), progress(), progress16(), と update().
CArray<int,2> osl::progress::Effect5x3::stand_progresses [protected] |