#include <effect5x3.h>
Public Member Functions | |
Effect5x3WithBonus (const NumEffectState &state) | |
const Progress16 | progress16bonus (Player p) const |
void | update (const NumEffectState &new_state, Move last_move) |
Effect5x3WithBonus | expect (const NumEffectState &state, Move move) const |
int | countEffectPieces (const NumEffectState &state, Player attack) const |
const PieceMask | effect5x3Mask (Player p) const |
template<osl::Player Defense> | |
osl::PieceMask | makeEffectMask (const NumEffectState &state) |
![]() | |
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 | |
template<Player Attack> | |
static int | makeProgressAreaBonus (const NumEffectState &state, Square king) |
template<Player Attack, bool AlwaysPromotable, bool AlwaysNotPromotable> | |
static int | makeProgressAreaBonus (const NumEffectState &state, Square king, Square center) |
![]() | |
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の計算. More... | |
static int | makeProgress (const NumEffectState &state) |
static const Progress16 | progress16 (int progress) |
0-15 の値を返す More... | |
static const Progress16 | progress16each (int progress) |
0-15 の値を返す. More... | |
Private Member Functions | |
void | updateProgressBonuses (const NumEffectState &state, bool black=true, bool white=true) |
void | updateStand (Player pl, Move m) |
Static Private Member Functions | |
static int | attackEffect3 (const NumEffectState &state, Player attack, Square target) |
template<Player Defense> | |
static PieceMask | makeEffectMask (const NumEffectState &state) |
Private Attributes | |
CArray< int, 2 > | progress_bonuses |
CArray< PieceMask, 2 > | effect_mask |
Additional Inherited Members | |
![]() | |
CArray< int, 2 > | progresses |
CArray< int, 2 > | stand_progresses |
CArray< int, 2 > | area_progresses |
Definition at line 88 of file effect5x3.h.
|
explicit |
Definition at line 113 of file effect5x3.cc.
References osl::BLACK, effect_mask, osl::SimpleState::kingSquare(), makeEffectMask(), progress_bonuses, updateProgressBonuses(), and osl::WHITE.
Referenced by osl::progress::Effect5x3::expect().
|
inlinestaticprivate |
Definition at line 148 of file effect5x3.cc.
References osl::alt(), osl::NumEffectState::countEffect(), osl::NumEffectState::hasLongEffectAt(), osl::Piece::isEdge(), osl::Piece::isEmpty(), osl::Piece::isOnBoardByOwner(), osl::KNIGHT, osl::LANCE, makeProgressAreaBonus(), osl::newPtypeO(), osl::PAWN, osl::SimpleState::pieceAt(), and osl::Piece::ptypeO().
Referenced by makeEffectMask(), and makeProgressAreaBonus().
int osl::progress::Effect5x3WithBonus::countEffectPieces | ( | const NumEffectState & | state, |
Player | attack | ||
) | const |
Definition at line 364 of file effect5x3.cc.
References osl::alt(), osl::container::PieceMask64::countBit(), effect5x3Mask(), and osl::NumEffectState::piecesOnBoard().
Referenced by updateProgressBonuses().
Definition at line 107 of file effect5x3.h.
Referenced by countEffectPieces().
osl::progress::Effect5x3WithBonus osl::progress::Effect5x3WithBonus::expect | ( | const NumEffectState & | state, |
Move | move | ||
) | const |
Definition at line 332 of file effect5x3.cc.
References osl::alt(), osl::Move::capturePtype(), osl::Move::player(), osl::playerToIndex(), osl::progress::Effect5x3::progresses, osl::PTYPE_EMPTY, osl::progress::Effect5x3::stand_progresses, updateProgressBonuses(), and updateStand().
Referenced by update().
|
staticprivate |
Referenced by Effect5x3WithBonus().
osl::PieceMask osl::progress::Effect5x3WithBonus::makeEffectMask | ( | const NumEffectState & | state | ) |
Definition at line 124 of file effect5x3.cc.
References osl::Centering5x3::adjustCenter(), attackEffect3(), osl::NumEffectState::effectSetAt(), and osl::SimpleState::kingSquare().
|
static |
Definition at line 292 of file effect5x3.cc.
References osl::Centering5x3::adjustCenter(), osl::Square::squareForBlack(), and update().
Referenced by attackEffect3(), and makeProgressAreaBonus().
|
static |
Definition at line 199 of file effect5x3.cc.
References attackEffect3(), osl::Square::canPromote(), osl::progress::Effect5x3_Table, osl::progress::Effect5x3Table::getAttackEffect(), makeProgressAreaBonus(), osl::Square::x(), and osl::Square::y().
|
inline |
Definition at line 97 of file effect5x3.h.
References osl::progress::Effect5x3::expect(), osl::progress::Effect5x3::progress16each(), osl::progress::Effect5x3::stand_progresses, and osl::progress::Effect5x3::update().
void osl::progress::Effect5x3WithBonus::update | ( | const NumEffectState & | new_state, |
Move | last_move | ||
) |
Definition at line 307 of file effect5x3.cc.
References osl::container::BoardMask::anyInRange(), osl::BLACK, osl::container::Board_Mask_Table5x3_Center, osl::NumEffectState::changedEffects(), effect_mask, expect(), osl::Move::from(), osl::SimpleState::kingSquare(), osl::container::BoardMaskTable5x3Center::mask(), progress_bonuses, osl::container::BoardMask::set(), osl::Move::to(), osl::progress::Effect5x3::update(), updateProgressBonuses(), and osl::WHITE.
Referenced by makeProgressAreaBonus().
|
private |
Definition at line 345 of file effect5x3.cc.
References osl::BLACK, countEffectPieces(), osl::eval::min(), progress_bonuses, and osl::WHITE.
Referenced by Effect5x3WithBonus(), expect(), and update().
Definition at line 113 of file effect5x3.h.
References osl::progress::Effect5x3::stand_progresses, and osl::progress::Effect5x3::updateStand().
Referenced by expect().
Definition at line 116 of file effect5x3.h.
Referenced by Effect5x3WithBonus(), and update().
|
private |
Definition at line 115 of file effect5x3.h.
Referenced by Effect5x3WithBonus(), update(), and updateProgressBonuses().