#include <simpleState.h>
Public メソッド | |
SimpleState () | |
SimpleState (Handicap h) | |
virtual | ~SimpleState () |
void | init () |
盤面が空の状態に初期化 | |
void | init (Handicap h) |
ハンディに応じた初期状態に初期化 | |
void | initPawnMask () |
const Piece | pieceOf (int num) const |
void | setPieceOf (int num, Piece p) |
template<Player P> | |
const Piece | kingPiece () const |
const Piece | kingPiece (Player P) const |
template<Player P> | |
Square | kingSquare () const |
Square | kingSquare (Player player) const |
template<Ptype PTYPE> | |
const Piece | nth (int n) const |
unpromote(PTYPE)のn番目の駒を帰す. | |
void | setBoard (Square sq, Piece piece) |
const PieceMask & | standMask (Player p) const |
const PieceMask & | usedMask () const |
bool | isOffBoard (int num) const |
void | clearPawn (Player pl, Square sq) |
(internal) | |
void | setPawn (Player pl, Square sq) |
(internal) | |
bool | isPawnMaskSet (Player player, int x) const |
template<Player P> | |
bool | isPawnMaskSet (int x) const |
bool | canDropPawnTo (Player player, int x) const |
xの筋に歩を打てる | |
void | setPiece (Player player, Square sq, Ptype ptype) |
void | setPieceAll (Player player) |
const Piece | pieceAt (Square sq) const |
const Piece | operator[] (Square sq) const |
const Piece * | getPiecePtr (Square sq) const |
const Piece | pieceOnBoard (Square sq) const |
bool | isOnBoard (int num) const |
int | countPiecesOnStand (Player pl, Ptype ptype) const |
持駒の枚数を数える | |
template<Ptype Type> | |
int | countPiecesOnStand (Player pl) const |
後方互換 | |
bool | hasPieceOnStand (Player player, Ptype ptype) const |
template<Ptype T> | |
bool | hasPieceOnStand (Player P) const |
Piece | nextPiece (Square cur, Offset diff) const |
diff方向にあるPiece を求める. | |
void | setTurn (Player player) |
Player | turn () const |
void | changeTurn () |
手番を変更する | |
bool | isConsistent (bool show_error=true) const |
template<bool show_error> | |
bool | isAlmostValidMove (Move move) const |
エラー表示をするかどうかをtemplateパラメータにした高速化版 | |
bool | isAlmostValidMove (Move move, bool show_error=true) const |
合法手かどうかを簡単に検査する.局面に依存するチェックのみ. ルール上指せない手である可能性がある場合は,isValidMove を用いる. | |
bool | isValidMove (Move move, bool show_error=true) const |
合法手かどうかを検査する. isValidMoveByRule, isAlmostValidMove をおこなう. 玉の素抜きや王手を防いでいるか, 千日手,打歩詰かどうかは検査しない. | |
bool | isEmptyBetween (Square from, Square to, Offset offset, bool pieceExistsAtTo=false) const |
bool | isEmptyBetween (Square from, Square to, bool noSpaceAtTo=false) const |
bool | dump () const |
dump: 自分を cerr に表示する。abort 前などにデバッグに使う | |
const SimpleState | emulateCapture (Piece from, Player new_owner) const |
from で表現されたPieceをnew_ownerの持駒にした局面を作る. | |
const SimpleState | emulateHandPiece (Player from, Player to, Ptype ptype) const |
from からto に ptypeの持駒を一枚渡した局面を作る. | |
const SimpleState | rotate180 () const |
const SimpleState | flipHorizontal () const |
Static Public メソッド | |
template<Ptype PTYPE> | |
static int | nthLimit () |
static bool | isValidMoveByRule (Move move, bool show_error) |
盤面以外の部分の反則のチェック | |
Static Public 変数 | |
static const bool | hasPawnMask = true |
Protected メソッド | |
PieceMask & | standMask (Player p) |
template<bool show_error> | |
bool | isAlmostValidDrop (Move move) const |
template<bool show_error> | |
bool | testValidityOtherThanEffect (Move move) const |
Protected 変数 | |
CArray< Piece, Square::SIZE > | board |
CArray< Piece, Piece::SIZE > | pieces |
全てのpieceが登録されている | |
CArray< PieceMask, 2 > | stand_mask |
CArray< BitXmask, 2 > | pawnMask |
CArray< CArray< char, PTYPE_SIZE-PTYPE_BASIC_MIN >, 2 > | stand_count |
Player | player_to_move |
手番 | |
PieceMask | used_mask |
Private 型 | |
typedef SimpleState | state_t |
Private メソッド | |
int | countPiecesOnStandBit (Player pl, Ptype ptype) const |
フレンド | |
std::ostream & | operator<< (std::ostream &os, const SimpleState &state) |
bool | operator== (const SimpleState &st1, const SimpleState &st2) |
盤上の駒のみを比較する(持ち駒は見ない). |
simpleState.h の 34 行で定義されています。
typedef SimpleState osl::SimpleState::state_t [private] |
osl::NumEffectStateで再定義されています。
simpleState.h の 39 行で定義されています。
osl::SimpleState::SimpleState | ( | ) | [explicit] |
simpleState.cc の 12 行で定義されています。
参照先 init().
osl::SimpleState::SimpleState | ( | Handicap | h | ) | [explicit] |
simpleState.cc の 16 行で定義されています。
参照先 init().
osl::SimpleState::~SimpleState | ( | ) | [virtual] |
simpleState.cc の 112 行で定義されています。
bool osl::SimpleState::canDropPawnTo | ( | Player | player, | |
int | x | |||
) | const [inline] |
xの筋に歩を打てる
simpleState.h の 155 行で定義されています。
参照先 isPawnMaskSet().
参照元 osl::move_probability::LanceAttack::match(), と osl::move_probability::PawnAttack::match().
void osl::SimpleState::changeTurn | ( | ) | [inline] |
手番を変更する
simpleState.h の 226 行で定義されています。
参照先 osl::alt(), と player_to_move.
参照元 osl::NumEffectState::doUndoCaptureMove(), osl::NumEffectState::doUndoDropMove(), osl::NumEffectState::doUndoSimpleMove(), osl::move_probability::StateInfo::findShortThreatmate(), osl::NumEffectState::makeMove(), osl::NumEffectState::makeMovePass(), osl::NumEffectState::makeUnmakePass(), と osl::rating::Threatmate::Helper::operator()().
持駒の枚数を数える
simpleState.h の 182 行で定義されています。
参照先 osl::isBasic(), と stand_count.
参照元 osl::progress::ml::NewProgress::attack5x5Value(), osl::record::KisenUtils::convertMove(), countPiecesOnStand(), osl::eval::ml::NonPawnPieceStandTurn::eval(), osl::eval::ml::NonPawnPieceStandCombination::eval(), osl::eval::ml::PieceStand::eval(), osl::eval::ml::King25EffectCountCombination::evalOne(), osl::eval::ml::King25Effect3::evalOne(), osl::eval::ml::PieceStand::evalWithUpdate(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::NonPawnPieceStandTurn::evalWithUpdateBang(), hasPieceOnStand(), isConsistent(), osl::progress::Effect5x3::makeProgressStand(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::CapturePtype::match(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::PieceStand::PieceStand(), osl::record::KanjiPrint::print(), osl::record::KisenWriter::save(), osl::usi::show(), osl::record::myshogi::show(), osl::move_probability::MoveInfo::standIndex(), osl::progress::ml::NewProgress::updateMain(), と osl::eval::ml::PieceStandY::updateResult().
int osl::SimpleState::countPiecesOnStand | ( | Player | pl | ) | const [inline] |
simpleState.h の 199 行で定義されています。
参照先 osl::PtypeTable::getMaskLow(), osl::Ptype_Table, と standMask().
参照元 initPawnMask(), と isConsistent().
bool osl::SimpleState::dump | ( | ) | const |
dump: 自分を cerr に表示する。abort 前などにデバッグに使う
simpleState.cc の 450 行で定義されています。
const osl::SimpleState osl::SimpleState::emulateCapture | ( | Piece | from, | |
Player | new_owner | |||
) | const |
from で表現されたPieceをnew_ownerの持駒にした局面を作る.
simpleState.cc の 460 行で定義されています。
参照先 initPawnMask(), osl::Piece::owner(), pieceOf(), osl::Piece::ptype(), setPiece(), setTurn(), osl::Piece::square(), osl::Square::STAND(), turn(), と osl::unpromote().
const osl::SimpleState osl::SimpleState::emulateHandPiece | ( | Player | from, | |
Player | to, | |||
Ptype | ptype | |||
) | const |
from からto に ptypeの持駒を一枚渡した局面を作る.
simpleState.cc の 480 行で定義されています。
参照先 osl::alt(), hasPieceOnStand(), initPawnMask(), osl::Piece::isOnBoard(), osl::Piece::owner(), pieceOf(), osl::Piece::ptype(), setPiece(), setTurn(), osl::Piece::square(), osl::Square::STAND(), turn(), と usedMask().
const osl::SimpleState osl::SimpleState::flipHorizontal | ( | ) | const |
simpleState.cc の 518 行で定義されています。
参照先 osl::Square::flipHorizontal(), initPawnMask(), osl::Piece::owner(), pieceOf(), osl::Piece::ptype(), setPiece(), setTurn(), osl::Piece::square(), turn(), と usedMask().
simpleState.h の 169 行で定義されています。
参照先 board, と osl::Square::index().
参照元 osl::eval::ml::PiecePair::adjust12(), osl::move_generator::piece_on_board::generateKing(), osl::move_generator::piece_on_board::generateLong(), osl::move_generator::piece_on_board::generatePtypePromote(), と osl::eval::ml::PiecePair::sum12().
bool osl::SimpleState::hasPieceOnStand | ( | Player | P | ) | const [inline] |
simpleState.h の 195 行で定義されています。
参照先 countPiecesOnStand().
simpleState.h の 191 行で定義されています。
参照先 countPiecesOnStand().
参照元 osl::checkmate::ProofPiecesUtil::addMonopolizedPieces(), osl::eval::ml::AttackMajorsInBase::addOne(), osl::move_probability::MoveInfo::adhocAdjustBishopFork(), osl::rating::BadLance::basicMatch(), osl::eval::ml::KnightCheck::canCheck(), osl::rating::Threatmate::captureForKnightCheck(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::ProofNumberTable::disproofAfterAllCheck(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), emulateHandPiece(), osl::eval::ml::NoPawnOnStand::eval(), osl::eval::ml::KnightFork::eval(), osl::eval::ml::BishopRookFork::eval(), osl::eval::ml::SilverFork::eval(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::PawnDropBoth::eval(), osl::eval::ml::BishopStandFile5::eval(), osl::eval::ml::PieceStandCombinationBoth::eval(), osl::eval::ml::BishopRookFork::evalOne(), osl::eval::ml::King25Effect3::evalOne(), osl::eval::ml::KingMobility::evalOne(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::KnightFork::evalWithUpdate(), osl::move_probability::StateInfo::findCheckmateDefender(), osl::move_probability::StateInfo::findShortThreatmate(), osl::move_generator::detail::generateDir(), osl::move_generator::detail::generateDirNotKing(), osl::move_generator::detail::generateDropGold(), osl::move_generator::detail::generateDropSilver(), osl::move_generator::detail::generateKnightAll(), osl::checkmate::ImmediateCheckmate::hasCheckmateDrop(), osl::checkmate::detail::hasCheckmateMoveKnight(), isAlmostValidDrop(), osl::rating::Threatmate::isCandidate(), osl::checkmate::ProofNumberTable::libertyAfterAllDrop(), osl::move_probability::CoverPawn::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::CheckmateIfCapture::match(), osl::eval::ml::OpenMidEndingEval::suggestMove(), と osl::progress::ml::NewProgress::updatePieceStand7().
void osl::SimpleState::init | ( | Handicap | h | ) |
ハンディに応じた初期状態に初期化
simpleState.cc の 67 行で定義されています。
参照先 osl::BISHOP, osl::BLACK, osl::GOLD, osl::HIRATE, init(), initPawnMask(), osl::KING, osl::KNIGHT, osl::LANCE, osl::PAWN, osl::ROOK, setPiece(), osl::SILVER, と osl::WHITE.
void osl::SimpleState::init | ( | ) |
盤面が空の状態に初期化
simpleState.cc の 44 行で定義されています。
参照先 osl::Piece::EDGE(), osl::Piece::EMPTY(), osl::CArray< T, Capacity >::fill(), osl::PieceTable::getPtypeOf(), osl::Square::nth(), pawnMask, osl::Piece_Table, pieces, player_to_move, setBoard(), osl::Piece::SIZE, osl::Square::STAND(), stand_count, stand_mask, used_mask, と osl::WHITE.
参照元 osl::book::MiniBoard::getState(), init(), osl::kakinoki::KakinokiFile::KakinokiFile(), osl::csa::CsaFileMinimal::load(), osl::usi::parse(), osl::usi::parseBoard(), osl::kakinoki::KakinokiFile::parseLine(), osl::csa::CsaFileMinimal::parseLine(), osl::record::CsaFile::read(), SimpleState(), osl::book::CompactBoard::state(), と osl::book::MiniBoardChar50::toSimpleState().
void osl::SimpleState::initPawnMask | ( | ) |
simpleState.cc の 20 行で定義されています。
参照先 osl::BLACK, countPiecesOnStandBit(), osl::PtypeTraits< PAWN >::indexMin, isConsistent(), isPawnMaskSet(), osl::Square::isPieceStand(), osl::Piece::isPromotedNotKingGold(), osl::PieceStand::order, osl::Piece::owner(), pawnMask, pieceOf(), osl::Piece::square(), stand_count, osl::WHITE, と osl::Square::x().
参照元 emulateCapture(), emulateHandPiece(), flipHorizontal(), init(), osl::usi::parse(), osl::kakinoki::KakinokiFile::parseLine(), osl::csa::CsaFileMinimal::parseLine(), rotate180(), osl::book::CompactBoard::state(), と osl::book::MiniBoardChar50::toSimpleState().
bool osl::SimpleState::isAlmostValidDrop | ( | Move | move | ) | const [protected] |
bool osl::SimpleState::isAlmostValidMove | ( | Move | move | ) | const |
エラー表示をするかどうかをtemplateパラメータにした高速化版
osl::NumEffectStateで再定義されています。
simpleState.cc の 332 行で定義されています。
参照先 osl::Move::from(), osl::PtypeTable::getEffect(), osl::EffectContent::hasUnblockableEffect(), osl::Piece::isEmpty(), osl::Square::isPieceStand(), osl::Move::isValid(), isValidMoveByRule(), osl::EffectContent::offset(), pieceAt(), osl::Move::player(), osl::Ptype_Table, osl::Piece::ptypeO(), osl::Move::to(), turn(), と osl::Offset::zero().
参照元 isValidMove().
bool osl::SimpleState::isAlmostValidMove | ( | Move | move, | |
bool | show_error = true | |||
) | const |
合法手かどうかを簡単に検査する.局面に依存するチェックのみ. ルール上指せない手である可能性がある場合は,isValidMove を用いる.
局面に依存する検査でも,玉の素抜きや王手を防いでいるか, 千日手,打歩詰かどうかは検査しない.
osl::NumEffectStateで再定義されています。
simpleState.cc の 318 行で定義されています。
bool osl::SimpleState::isConsistent | ( | bool | show_error = true |
) | const |
osl::NumEffectStateで再定義されています。
simpleState.cc の 157 行で定義されています。
参照先 osl::BLACK, countPiecesOnStand(), countPiecesOnStandBit(), osl::PieceTable::getPtypeOf(), osl::PtypeTraits< PAWN >::indexMin, osl::Piece::isEmpty(), osl::Square::isOnBoard(), osl::Piece::isOnBoard(), isOnBoard(), osl::Piece::isPiece(), osl::Square::isPieceStand(), osl::Piece::isPromoted(), osl::Piece::isPromotedNotKingGold(), osl::Piece::number(), osl::PieceStand::order, osl::Piece::owner(), pawnMask, osl::Piece_Table, pieceAt(), pieceOf(), osl::playerToIndex(), osl::Piece::ptype(), osl::Piece::SIZE, osl::Piece::square(), osl::Square::squareForBlack(), osl::PieceMask::test(), osl::unpromote(), used_mask, usedMask(), osl::PieceTable::validNumber(), と osl::WHITE.
参照元 initPawnMask(), osl::NumEffectState::isConsistent(), osl::kakinoki::KakinokiFile::KakinokiFile(), と osl::operator==().
bool osl::SimpleState::isEmptyBetween | ( | Square | from, | |
Square | to, | |||
bool | noSpaceAtTo = false | |||
) | const [inline] |
from | - マスの位置 | |
to | - マスの位置 fromとtoがクイーンで利きがある位置関係にあるという前提 で,間が全部空白かをチェック |
simpleState.h の 293 行で定義されています。
参照先 osl::Board_Table, osl::BoardTable::getShortOffset(), isEmptyBetween(), と osl::Square::isOnBoard().
bool osl::SimpleState::isEmptyBetween | ( | Square | from, | |
Square | to, | |||
Offset | offset, | |||
bool | pieceExistsAtTo = false | |||
) | const [inline] |
from | - マスの位置 | |
to | - マスの位置 | |
offset | - fromからtoへのshort offset fromとtoがクイーンで利きがある位置関係にあるという前提 で,間が全部空白かをチェック | |
pieceExistsAtTo | - toに必ず駒がある (toが空白でも動く) |
simpleState.h の 267 行で定義されています。
参照先 osl::Board_Table, osl::BoardTable::getShortOffset(), osl::Piece::isEmpty(), osl::Square::isOnBoard(), pieceAt(), と osl::Offset::zero().
参照元 osl::effect_util::Neighboring8Direct::Table::findNearest(), osl::effect_util::Neighboring8Direct::Table::hasEffect(), osl::NumEffectState::hasEffectIf(), osl::move_probability::BreakThreatmate::isDefendingThreatmate(), isEmptyBetween(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), と osl::eval::ml::BishopRookFork::testCenter().
bool osl::SimpleState::isOffBoard | ( | int | num | ) | const [inline] |
simpleState.h の 132 行で定義されています。
参照先 osl::BLACK, standMask(), osl::PieceMask::test(), と osl::WHITE.
bool osl::SimpleState::isOnBoard | ( | int | num | ) | const [inline] |
bool osl::SimpleState::isPawnMaskSet | ( | Player | player, | |
int | x | |||
) | const [inline] |
simpleState.h の 146 行で定義されています。
参照先 pawnMask.
参照元 osl::rating::BadLance::basicMatch(), canDropPawnTo(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::PawnDropBoth::eval(), osl::eval::ml::RookPawn< Opening >::eval(), osl::eval::ml::SilverFeatures::evalOne(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::move_generator::drop::generate(), osl::move_generator::detail::generateDir(), osl::move_generator::detail::generateDirNotKing(), osl::move_generator::escape::generateDrop(), initPawnMask(), isAlmostValidDrop(), と osl::eval::ml::PinPtypeAll::pawnAttack().
bool osl::SimpleState::isPawnMaskSet | ( | int | x | ) | const [inline] |
bool osl::SimpleState::isValidMove | ( | Move | move, | |
bool | show_error = true | |||
) | const |
合法手かどうかを検査する. isValidMoveByRule, isAlmostValidMove をおこなう. 玉の素抜きや王手を防いでいるか, 千日手,打歩詰かどうかは検査しない.
simpleState.cc の 435 行で定義されています。
参照先 isAlmostValidMove(), osl::Move::isValid(), isValidMoveByRule(), osl::Move::player(), と turn().
参照元 osl::record::KisenUtils::convertMove(), main(), osl::record::CsaFile::makeInfo(), osl::usi::parse(), osl::kakinoki::KakinokiFile::parseLine(), と osl::csa::CsaFileMinimal::parseLine().
bool osl::SimpleState::isValidMoveByRule | ( | Move | move, | |
bool | show_error | |||
) | [static] |
盤面以外の部分の反則のチェック
simpleState.cc の 372 行で定義されています。
参照先 osl::PtypeTable::canDropTo(), osl::Square::canPromote(), osl::canPromote(), osl::Move::from(), osl::PtypeTable::getEffect(), osl::getPtype(), osl::EffectContent::hasUnblockableEffect(), osl::isBasic(), osl::Move::isNormal(), osl::isPromoted(), osl::Move::isPromotion(), osl::EffectContent::offset(), osl::Move::oldPtypeO(), osl::Move::player(), osl::Move::ptype(), osl::Ptype_Table, osl::Move::to(), turn(), osl::unpromote(), と osl::Offset::zero().
参照元 osl::checkmate::OracleAdjust::attack(), isAlmostValidMove(), osl::NumEffectState::isAlmostValidMove(), と isValidMove().
const Piece osl::SimpleState::kingPiece | ( | ) | const [inline] |
simpleState.h の 83 行で定義されています。
参照先 pieceOf().
参照元 osl::eval::ml::PawnDropBoth::eval(), osl::eval::ml::King8Effect::eval(), osl::eval::ml::NonPawnAttackedPtypePair::evalOne(), osl::eval::ml::King25EmptySquareNoEffect::evalOne(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::GenerateEscapeKing::generate(), osl::checkmate::FixedDepthSearcher::generateBlockingWhenLiberty0(), osl::checkmate::Dfpn::generateEscape(), osl::eval::ml::BishopRookFork::isBishopForkSquare(), osl::eval::ml::BishopRookFork::isRookForkSquare(), osl::checkmate::Dfpn::Tree::king(), osl::move_probability::LongRecapture::match(), osl::NumEffectState::safeCaptureNotByKing(), と osl::progress::ml::NewProgress::updateNonPawnAttackedPtypePairOne().
simpleState.h の 86 行で定義されています。
参照先 osl::BLACK, と osl::isValid().
Square osl::SimpleState::kingSquare | ( | ) | const [inline] |
simpleState.h の 94 行で定義されています。
参照元 osl::eval::ml::PiecePairKing::add(), osl::eval::ml::MajorCheckWithCapture::addOne(), osl::eval::ml::PiecePairKing::addSub(), osl::move_probability::MoveInfo::adhocAdjustBishopFork(), osl::eval::ml::RookMobilityAll::adjust(), osl::checkmate::Dfpn::analyze(), osl::progress::ml::NewProgress::attack5x5Value(), osl::checkmate::ProofNumberTable::attackEstimation(), osl::checkmate::FixedDepthSolverExt::SetProofPieces::attackEstimation(), osl::eval::ml::KnightCheck::canCheck(), osl::checkmate::CheckmateIfCapture::cannotCapture(), osl::rating::DefenseKing8::count(), osl::eval::ml::King25Effect::countEffectAndPieces(), osl::eval::ml::King25EffectBoth::countEffectAndPiecesBoth(), osl::checkmate::ProofNumberTable::countLiberty(), osl::checkmate::King8Info::countMoveCandidate(), osl::progress::Effect5x3::Effect5x3(), osl::progress::Effect5x3WithBonus::Effect5x3WithBonus(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::King8EffectAll::effectState(), osl::eval::ml::King8Effect::effectState(), osl::eval::ml::SilverAdvance26::eval(), osl::eval::ml::LanceEffectPieceKingRelative::eval(), osl::eval::ml::PtypeCount::eval(), osl::eval::ml::NonPawnAttacked::eval(), osl::eval::ml::KnightCheck::eval(), osl::eval::ml::GoldFeatures::eval(), osl::eval::ml::SilverFeatures::eval(), osl::eval::ml::PawnDropBoth::eval(), osl::eval::ml::NumPiecesBetweenBishopAndKing::eval(), osl::eval::ml::BishopHead::eval(), osl::eval::ml::BishopEffectBase::eval(), osl::eval::ml::RookEffectBase::eval(), osl::eval::ml::RookPawnY::eval(), osl::eval::ml::King25EffectY2::eval(), osl::eval::ml::King25EffectY::eval(), osl::eval::ml::King25EffectYDefense::eval(), osl::eval::ml::King25EffectYAttack::eval(), osl::eval::ml::King25Mobility::eval(), osl::eval::ml::PtypeYY::eval(), osl::eval::ml::KingPieceRelativeNoSupport::eval(), osl::eval::ml::KingPieceRelative::eval(), osl::eval::ml::KingXBlocked3::eval(), osl::eval::ml::KingXBlockedYBase::eval(), osl::eval::ml::KingXBlockedBase::eval(), osl::eval::ml::KingXBothBlocked::eval(), osl::eval::ml::Pin::eval(), osl::eval::ml::PieceStandY::eval(), osl::eval::ml::PiecePairKing::evalOne(), osl::eval::ml::GoldFeatures::evalOne(), osl::eval::ml::GoldAndSilverNearKing::evalOne(), osl::eval::ml::PromotedMinorPieces::evalOne(), osl::eval::ml::KingRookBishop::evalOne(), osl::eval::ml::EnterKingDefense::evalOne(), osl::eval::ml::BishopExchangeSilverKing::evalOne(), osl::eval::ml::King25EffectCountCombination::evalOne(), osl::eval::ml::King25Effect3::evalOne(), osl::eval::ml::King25BothSide::evalOne(), osl::eval::ml::KingMobilitySum::evalOne(), osl::eval::ml::KingMobility::evalOne(), osl::eval::ml::King3Pieces::evalOne(), osl::eval::ml::King25EmptyAbs< Opening >::evalOne(), osl::eval::ml::King25EffectEachBoth::evalOne(), osl::eval::ml::King25EffectEach< Stage >::evalOne(), osl::eval::ml::AnagumaEmpty::evalOne(), osl::eval::ml::CheckShadowPtype::evalOne(), osl::eval::ml::PinPtypeAll::evalOne(), osl::eval::ml::PawnDropBoth::evalWithUpdate(), osl::eval::ml::King3Pieces::evalWithUpdate(), osl::eval::ml::King25EmptyAbs< Opening >::evalWithUpdate(), osl::eval::ml::King25EffectEachBoth::evalWithUpdate(), osl::eval::ml::King25EmptySquareNoEffect::evalWithUpdate(), osl::eval::ml::PtypeYY::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PieceStandY::evalWithUpdate(), osl::eval::ml::PiecePairKing::evalWithUpdateBang(), osl::eval::ml::PtypeCount::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::KingXBlockedYBase::evalWithUpdateBang(), osl::eval::ml::King8EffectBase::evalWithUpdateCommon(), osl::move_probability::StateInfo::findCheckmateDefender(), osl::NumEffectState::findCheckPiece(), osl::rating::AttackKing8Group::findMatch(), osl::move_probability::StateInfo::findShortThreatmate(), osl::move_probability::StateInfo::finishUpdate(), osl::checkmate::Dfpn::generateCheck(), osl::move_generator::detail::generateDir(), osl::move_generator::detail::generateDirNotKing(), osl::move_generator::detail::generateKing(), osl::move_generator::detail::generateMoveToPtypeMaskWithPieceMask(), osl::move_generator::detail::generateRookLongMove(), osl::checkmate::ImmediateCheckmate::hasCheckmateMove(), osl::effect_util::Neighboring8Direct::Table::hasEffectOrAdditional(), osl::checkmate::Dfpn::hasEscapeMove(), osl::checkmate::King8Info::hasMoveCandidate(), osl::NumEffectState::inCheck(), osl::eval::ml::KingPieceRelative::index(), osl::rating::Karanari::index(), osl::rating::BigramAttack::index(), osl::NumEffectState::inUnblockableCheck(), osl::eval::ml::KingXBlockedBase::isBlocked(), osl::rating::Threatmate::isCandidate(), osl::NumEffectState::isConsistent(), osl::move_classifier::KingOpenMove< P >::isMember(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::rating::RatingEnv::make(), osl::checkmate::King8Info::make(), osl::progress::Effect5x3WithBonus::makeEffectMask(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::rating::RelativeKingX::makeOldX(), osl::rating::RelativeKingY::makeOldY(), osl::NumEffectState::makePinOpen(), osl::progress::Effect5x3d::makeProgress(), osl::progress::Effect5x3::makeProgress(), osl::checkmate::King8Info::makeWithPin(), osl::rating::RelativeKingX::makeX(), osl::rating::RelativeKingY::makeY(), osl::rating::AttackKing8::match(), osl::rating::Karanari::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::KingBlockade::match(), osl::move_probability::King5x5Ptype::match(), osl::move_probability::SacrificeAttack::match(), osl::move_probability::DropAfterOpposingPawn::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::CheckmateIfCapture::match(), osl::move_probability::LureDefender::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::KingRelativeX::match(), osl::move_probability::KingRelativeY::match(), osl::rating::DefenseKing8::matchDrop(), osl::rating::Karanari::matchGeneral(), osl::rating::DefenseKing8::matchMove(), osl::checkmate::King8Info::moveCandidateMask(), osl::eval::ml::King8EffectBase::MakeEffectStateDefense::operator()(), osl::eval::ml::King8EffectBase::MakeEffectStateSimple::operator()(), osl::progress::ml::NewProgress::progressOne(), osl::NumEffectState::recalcPinOpen(), osl::move_probability::CheckFeature::sign(), osl::eval::ml::PiecePairKing::sub(), osl::progress::Effect5x3d::update(), osl::progress::Effect5x3WithBonus::update(), osl::progress::Effect5x3::update(), osl::progress::ml::NewProgress::updateAttack5x5PiecesAndState(), osl::move_probability::PatternCommon::updateCacheOne(), osl::eval::ml::NonPawnAttacked::updateEffectChanged(), osl::eval::ml::OpenMidEndingEval::updateGoldSilverNearKing(), osl::progress::ml::NewProgress::updateMain(), osl::progress::ml::NewProgress::updatePieceKingRelativeBonus(), osl::progress::ml::NewProgress::updateSub(), osl::eval::ml::OpenMidEndingEval::updateSub(), と osl::NumEffectState::wasCheckEvasion().
simpleState.h の 97 行で定義されています。
参照先 osl::BLACK, と osl::isValid().
diff方向にあるPiece を求める.
simpleState.h の 208 行で定義されています。
参照先 osl::Piece::EMPTY(), pieceAt(), と osl::Offset::zero().
参照元 osl::rating::PatternLong2::find(), osl::effect_util::AdditionalEffect::find(), と osl::eval::See::findAdditionalPieces().
const Piece osl::SimpleState::nth | ( | int | n | ) | const [inline] |
unpromote(PTYPE)のn番目の駒を帰す.
駒番号に依存するので順番は不定.
simpleState.h の 114 行で定義されています。
参照先 pieceOf().
参照元 osl::eval::ml::AttackMajorsInBase::eval(), osl::eval::ml::BishopExchangeSilverKing::eval(), と osl::eval::ml::BishopExchangeSilverKing::evalOne().
static int osl::SimpleState::nthLimit | ( | ) | [inline, static] |
simpleState.h の 168 行で定義されています。
参照先 pieceAt().
sq | は isOnboardを満たす Square の12近傍(8近傍+桂馬の利き) ! isOnBoard(sq) の場合は PIECE_EDGE を返す |
simpleState.h の 167 行で定義されています。
参照先 board, と osl::Square::index().
参照元 osl::move_probability::BishopAttack::addOne(), osl::move_probability::AddEffectLong::addOne(), osl::move_probability::PatternCommon::addOne(), osl::move_probability::MoveInfo::adhocAdjustSlider(), osl::progress::Effect5x3WithBonus::attackEffect3(), osl::checkmate::detail::blockingDiagonalAttack(), osl::move_generator::detail::blockingU(), osl::checkmate::detail::blockingVerticalAttack(), osl::eval::ml::KnightCheck::canCheck(), osl::move_classifier::PawnDropCheckmate< P >::canEscape(), osl::eval::ml::GoldFeatures::canMoveToSide(), osl::eval::ml::GoldFeatures::canRetreat(), osl::eval::ml::SilverFeatures::canRetreat(), osl::eval::ml::PawnAdvanceUtil::cantAdvance(), osl::eval::ml::KnightAdvance::cantAdvance(), osl::rating::Threatmate::captureForKnightCheck(), osl::eval::See::computeValue(), osl::record::KisenUtils::convertMove(), osl::rating::DefenseKing8::count(), osl::mobility::LanceMobility::countAll(), osl::mobility::BishopMobility::countAll(), osl::mobility::BishopMobility::countAllDir(), osl::eval::ml::NumPiecesBetweenBishopAndKing::countBetween(), osl::eval::ml::King25EffectBoth::countEffectAndPiecesBoth(), osl::mobility::RookMobility::countHorizontalAll(), osl::mobility::countMobilityBoth(), osl::mobility::RookMobility::countVerticalAll(), osl::effect_action::BetterToPromote< Action >::doAction(), osl::effect_action::AlwaysMove< Action >::doAction(), osl::effect_action::BetterToPromote< Action >::doActionPtype(), osl::effect_action::AlwaysMove< Action >::doActionPtype(), osl::effect::NumSimpleEffectTable::doBlockAt(), osl::effect::NumSimpleEffectTable::doEffectLong(), osl::effect::NumSimpleEffectTable::doEffectShort(), osl::effect::EffectedNumTable::EffectedNumTable(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::King8EffectAll::effectState(), osl::eval::ml::King8Effect::effectState(), osl::eval::ml::SilverAdvance26::eval(), osl::eval::ml::LanceEffectPieceKingRelative::eval(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::PawnPtypeOPtypeO::eval(), osl::eval::ml::BishopStandFile5::eval(), osl::eval::ml::RookRookPiece::eval(), osl::eval::ml::BishopBishopPiece::eval(), osl::eval::ml::BishopHead::eval(), osl::eval::ml::RookPromoteDefense::eval(), osl::eval::ml::GoldFeatures::evalOne(), osl::eval::ml::SilverFeatures::evalOne(), osl::eval::ml::BishopEffectBase::evalOne(), osl::eval::ml::RookEffectBase::evalOne(), osl::eval::ml::EnterKingDefense::evalOne(), osl::eval::ml::King3Pieces::evalOne(), osl::eval::ml::King25EmptyAbs< Opening >::evalOne(), osl::eval::ml::King25EmptySquareNoEffect::evalOne(), osl::eval::ml::AnagumaEmpty::evalOne(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::effect_util::SendOffSquare::find(), osl::move_probability::StateInfo::findCheckmateDefender(), osl::eval::ml::BishopRookFork::findDropInLine(), osl::rating::PatternGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::move_probability::StateInfo::finishUpdate(), osl::NumEffectState::forEachEffectOfPieceDir(), osl::NumEffectState::forEachEffectOfPieceLongDir(), osl::move_generator::capture::generate(), osl::move_generator::Capture< Action >::generate1(), osl::move_generator::detail::generateBishopLongMove(), osl::move_generator::detail::generateBishopLongMoveNotKing(), osl::move_generator::Escape< Action >::generateBlocking(), osl::move_generator::Escape< Action >::generateBlockingKing(), osl::checkmate::Dfpn::generateCheck(), osl::move_generator::detail::generateDir(), osl::move_generator::detail::generateDirNotKing(), osl::move_generator::detail::generateDropBishop(), osl::move_generator::detail::generateDropRook(), osl::move_generator::promote::MayPromoteDir< P, T, noCapture, Dir >::generateIfValid(), osl::move_generator::promote::AllPromoteDir< P, T, noCapture, Dir >::generateIfValid(), osl::move_generator::detail::generateKnightDir(), osl::move_generator::piece_on_board::generateLance(), osl::move_generator::detail::generateMovePiecePtypeMask(), osl::move_generator::detail::generateNotKing(), osl::move_generator::detail::generateOpenOrCapture(), osl::move_generator::piece_on_board::generatePawn(), osl::move_generator::detail::generateRookLongMove(), osl::move_generator::detail::generateRookLongMoveNotKing(), osl::move_generator::drop::generateX(), osl::NumEffectState::hasEffectByWithRemove(), osl::checkmate::King8Info::hasEffectMask(), osl::effect_util::Neighboring8Direct::Table::hasEffectOrAdditional(), osl::checkmate::detail::hasKnightCheckmate(), osl::eval::ml::King25EffectEachBoth::index(), osl::eval::ml::King25EffectEach< Stage >::index(), isAlmostValidDrop(), isAlmostValidMove(), osl::NumEffectState::isAlmostValidMove(), osl::eval::ml::KingXBlockedBase::isBlocked(), isConsistent(), isEmptyBetween(), osl::move_classifier::KingOpenMove< P >::isMember(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), osl::record::KisenPlusFile::load(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::NumEffectState::makePinOpenDir(), osl::NumEffectState::makeUnmakeMove(), osl::rating::Pattern::match(), osl::rating::AttackKing8::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::LanceAttack::match(), osl::eval::ml::SilverFork::matchGold(), osl::eval::ml::SilverFork::matchRook(), osl::mobility::MobilityTable::MobilityTable(), nextPiece(), osl::rating::PatternLong::nextPieceOrEnd(), osl::effect_util::SendOffSquare::onlyOneSupport(), osl::eval::ml::King8EffectBase::MakeEffectStateDefense::operator()(), osl::eval::ml::King8EffectBase::MakeEffectStateSimple::operator()(), osl::operator==(), operator[](), osl::eval::ml::PinPtypeAll::pawnAttack(), pieceOnBoard(), osl::eval::ml::PiecePair::pieceValueDouble(), osl::NumEffectState::prologueCapture(), osl::NumEffectState::prologueSimple(), osl::NumEffectState::recalcPinOpen(), osl::ki2::show(), osl::NumEffectState::showEffect(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::move_probability::PawnAttack::squareStatus(), osl::csa::strToMove(), osl::move_probability::ToEffect::supportAttack(), osl::eval::ml::BishopRookFork::testCenter(), testValidityOtherThanEffect(), osl::move_probability::PatternCommon::updateCacheOne(), と osl::move_probability::StateInfo::updatePinnedGenerals().
const Piece osl::SimpleState::pieceOf | ( | int | num | ) | const [inline] |
simpleState.h の 76 行で定義されています。
参照先 pieces.
参照元 osl::eval::ml::PiecePairKing::add(), osl::eval::ml::MajorCheckWithCapture::addOne(), osl::eval::ml::PiecePairKing::addSub(), osl::checkmate::OracleAdjust::attack(), osl::move_generator::escape::blockByMoveOne(), osl::checkmate::detail::blockingDiagonalAttack(), osl::move_generator::detail::blockingU(), osl::checkmate::detail::blockingVerticalAttack(), osl::book::CompactBoard::CompactBoard(), osl::effect_util::AdditionalOrShadow::count(), osl::effect::NumSimpleEffectTable::doBlockAt(), osl::effect::EffectedNumTable::EffectedNumTable(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), emulateCapture(), emulateHandPiece(), osl::eval::ml::PieceEval::eval(), osl::eval::ml::PiecePair::eval(), osl::eval::ml::LanceMobilityAll::eval(), osl::eval::ml::BishopMobilityAll::eval(), osl::eval::ml::RookMobilityAll::eval(), osl::eval::ml::BishopRookFork::eval(), osl::eval::ml::SilverFork::eval(), osl::eval::ml::PtypeYPawnY::eval(), osl::eval::ml::LanceEffectPieceKingRelative::eval(), osl::eval::ml::NonPawnAttackedPtype::eval(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::NonPawnAttacked::eval(), osl::eval::ml::PawnPtypeOPtypeO::eval(), osl::eval::ml::PtypeX::eval(), osl::eval::ml::PtypeY::eval(), osl::eval::ml::KnightAdvance::eval(), osl::eval::ml::GoldFeatures::eval(), osl::eval::ml::SilverFeatures::eval(), osl::eval::ml::PawnAdvance::eval(), osl::eval::ml::MajorY< true, ROOK >::eval(), osl::eval::ml::BishopSilverKnight::eval(), osl::eval::ml::RookSilverKnight::eval(), osl::eval::ml::RookRookPiece::eval(), osl::eval::ml::RookRook::eval(), osl::eval::ml::BishopBishopPiece::eval(), osl::eval::ml::NumPiecesBetweenBishopAndKing::eval(), osl::eval::ml::BishopHead::eval(), osl::eval::ml::BishopEffectBase::eval(), osl::eval::ml::RookPromoteDefense::eval(), osl::eval::ml::RookEffectBase::eval(), osl::eval::ml::RookPawnY::eval(), osl::eval::ml::RookPawn< Opening >::eval(), osl::eval::ml::PtypeYY::eval(), osl::eval::ml::KingPieceRelativeNoSupport::eval(), osl::eval::ml::KingPieceRelative::eval(), osl::eval::ml::Pin::eval(), osl::eval::ml::SimplePin::eval(), osl::eval::ml::PiecePairKing::evalOne(), osl::eval::ml::KnightFork::evalOne(), osl::eval::ml::NonPawnAttackedPtypePair::evalOne(), osl::eval::ml::PromotedMinorPieces::evalOne(), osl::eval::ml::KingRookBishop::evalOne(), osl::eval::ml::MajorGoldSilverAttacked< Opening >::evalOne(), osl::eval::ml::King25Effect3::evalOne(), osl::eval::ml::CheckShadowPtype::evalOne(), osl::eval::ml::PinPtypeAll::evalOne(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::move_probability::BlockLong::findAll(), osl::NumEffectState::findAttackAt(), osl::NumEffectState::findAttackAtStrict(), osl::NumEffectState::findAttackNotBy(), osl::NumEffectState::findLongAttackAt(), osl::NumEffectState::findThreatenedPiece(), flipHorizontal(), osl::NumEffectState::forEachEffect(), osl::NumEffectState::forEachOnBoard(), osl::NumEffectState::forEachOnBoardPtypeStrict(), osl::move_generator::capture::generate(), osl::move_generator::detail::generateDir(), osl::move_generator::detail::generateDirNotKing(), osl::move_generator::Escape< Action >::generateKingEscape(), osl::move_generator::detail::generateKnightDir(), osl::move_generator::detail::generateMoveToPtypeMaskWithPieceMask(), osl::move_generator::all_moves::generatePtype(), osl::move_generator::detail::generateRookLongMove(), osl::move_generator::detail::generateRookLongMoveNotKing(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDir(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDirPiece(), osl::effect_util::AdditionalEffect::hasEffect(), osl::NumEffectState::hasEffectAt(), osl::NumEffectState::hasEffectByWithRemove(), osl::NumEffectState::hasEffectInDirection(), osl::hash::HashKey::HashKey(), osl::rating::PinAttack::index(), osl::rating::ImmediateAddSupport::index(), osl::effect::NumSimpleEffectTable::init(), initPawnMask(), isConsistent(), osl::NumEffectState::isConsistent(), osl::move_probability::BreakThreatmate::isDefendingKing8(), isOnBoard(), kingPiece(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::move_probability::MoveFromOpposingSliders::longPtype(), osl::move_probability::StateInfo::makePinOfLongPieces(), osl::rating::PinAttack::match(), osl::rating::RookDefense::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::CoverFork::match(), osl::book::MiniBoard::MiniBoard(), osl::book::MiniBoardChar50::MiniBoardChar50(), osl::mobility::MobilityTable::MobilityTable(), nth(), osl::NumEffectState::NumEffectState(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::NumEffectState::pinAttacker(), osl::NumEffectState::prologueDrop(), osl::progress::PtypeProgress::PtypeProgress(), rotate180(), osl::NumEffectState::selectCheapPiece(), osl::record::myshogi::show(), osl::ki2::show(), osl::checkmate::detail::slowCheckDrop(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::eval::ml::PiecePairKing::sub(), osl::move_probability::BlockLong::updateCache(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), osl::eval::ml::NonPawnAttacked::updateEffectChanged(), osl::eval::ml::OpenMidEndingEval::updateGoldSilverNearKing(), osl::progress::ml::NewProgress::updateNonPawnAttackedPtypePairOne(), osl::progress::ml::NewProgress::updatePawnFacing(), osl::progress::ml::NewProgress::updatePieceKingRelativeBonus(), と osl::move_probability::StateInfo::updatePinnedGenerals().
simpleState.h の 170 行で定義されています。
参照先 osl::Square::isOnBoard(), と pieceAt().
参照元 osl::checkmate::OracleAdjust::attack(), osl::rating::BadLance::basicMatch(), osl::checkmate::CheckmateIfCapture::cannotCapture(), osl::rating::Threatmate::captureForKnightCheck(), osl::record::KisenUtils::convertMove(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::See::findEffectPiecesAfterMove(), osl::NumEffectState::findLongAttackAt(), osl::rating::AttackKing8Group::findMatch(), osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuide(), osl::rating::PinAttack::index(), osl::rating::ImmediateAddSupport::index(), osl::move_classifier::SafeMove< P >::isMember(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::NumEffectState::makeMove(), osl::rating::PinAttack::match(), osl::rating::AttackKing8::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::MoveFromOpposingSliders::match(), osl::move_probability::ToEffectLong::match(), osl::rating::ImmediateAddSupport::match(), osl::rating::PatternLong::nextPieceOrEnd(), osl::operator<<(), osl::record::KanjiPrint::print(), osl::usi::show(), osl::psn::strToMove(), osl::kakinoki::strToMove(), と osl::NumEffectState::wasCheckEvasion().
const osl::SimpleState osl::SimpleState::rotate180 | ( | ) | const |
simpleState.cc の 505 行で定義されています。
参照先 osl::alt(), initPawnMask(), osl::Piece::owner(), pieceOf(), osl::Piece::ptype(), osl::Square::rotate180Safe(), setPiece(), setTurn(), osl::Piece::square(), turn(), と usedMask().
参照元 osl::book::MiniBoardChar50::MiniBoardChar50(), と osl::book::MiniBoardChar50::toSimpleState().
simpleState.h の 119 行で定義されています。
参照先 board, と osl::Square::index().
参照元 osl::NumEffectState::epilogueCapture(), osl::NumEffectState::epilogueDrop(), osl::NumEffectState::epilogueSimple(), init(), osl::NumEffectState::prologueCapture(), osl::NumEffectState::prologueDrop(), osl::NumEffectState::prologueSimple(), と setPiece().
(internal)
simpleState.h の 142 行で定義されています。
参照先 pawnMask.
参照元 osl::NumEffectState::doDropMove(), osl::NumEffectState::doUndoCaptureMove(), osl::NumEffectState::doUndoDropMove(), と osl::NumEffectState::doUndoSimpleMove().
simpleState.cc の 114 行で定義されています。
参照先 osl::PieceTable::getPtypeOf(), osl::PtypeTraits< KING >::indexMin, osl::Square::isPieceStand(), osl::KING, osl::PAWN, pawnMask, osl::Piece_Table, osl::playerToIndex(), osl::PieceMask::set(), setBoard(), setPieceOf(), stand_mask, osl::PieceMask::test(), osl::unpromote(), と used_mask.
参照元 emulateCapture(), emulateHandPiece(), flipHorizontal(), osl::book::MiniBoard::getState(), init(), osl::usi::parse(), osl::usi::parseBoard(), osl::kakinoki::KakinokiFile::parseLine(), osl::csa::CsaFileMinimal::parseLine(), rotate180(), osl::book::CompactBoard::state(), と osl::book::MiniBoardChar50::toSimpleState().
void osl::SimpleState::setPieceAll | ( | Player | player | ) |
void osl::SimpleState::setPieceOf | ( | int | num, | |
Piece | p | |||
) | [inline] |
simpleState.h の 79 行で定義されています。
参照先 pieces.
参照元 osl::NumEffectState::epilogueCapture(), osl::NumEffectState::epilogueDrop(), osl::NumEffectState::epilogueSimple(), osl::NumEffectState::prologueCapture(), osl::NumEffectState::prologueDrop(), osl::NumEffectState::prologueSimple(), setPiece(), と setPieceAll().
void osl::SimpleState::setTurn | ( | Player | player | ) | [inline] |
simpleState.h の 124 行で定義されています。
参照先 stand_mask.
参照元 countPiecesOnStandBit(), osl::NumEffectState::epilogueCapture(), osl::NumEffectState::epilogueDrop(), osl::eval::ml::BishopExchangeSilverKing::eval(), isOffBoard(), osl::NumEffectState::prologueCapture(), osl::NumEffectState::prologueDrop(), osl::progress::PtypeProgress::PtypeProgress(), と osl::NumEffectState::showEffect().
simpleState.h の 128 行で定義されています。
参照先 stand_mask.
bool osl::SimpleState::testValidityOtherThanEffect | ( | Move | move | ) | const [protected] |
Player osl::SimpleState::turn | ( | ) | const [inline] |
simpleState.h の 220 行で定義されています。
参照先 player_to_move.
参照元 osl::move_probability::BishopAttack::addOne(), osl::rating::BradleyTerry::addSquare(), osl::move_probability::MoveInfo::adhocAdjustBishopFork(), osl::checkmate::Dfpn::analyze(), osl::checkmate::FixedDepthSearcher::attack(), osl::checkmate::ProofNumberTable::attackEstimation(), osl::checkmate::FixedDepthSearcher::attackMayUnsafe(), osl::move_probability::KingBlockade::blockAll(), osl::rating::DefenseKing8::blocking(), osl::enter_king::EnterKing::canDeclareWin(), osl::checkmate::CheckmateIfCapture::cannotCapture(), osl::rating::Threatmate::captureForKnightCheck(), osl::move_probability::StateInfo::clearOldCache(), osl::book::CompactBoard::CompactBoard(), osl::record::KisenUtils::convertMove(), osl::rating::DefenseKing8::count(), osl::rating::CountEffect2::count(), osl::move_probability::CoverFork::defending(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::NumEffectState::doCaptureMove(), osl::NumEffectState::doDropMove(), osl::NumEffectState::doSimpleMove(), osl::checkmate::CheckmateIfCapture::effectiveAttack(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), emulateCapture(), emulateHandPiece(), osl::rating::PatternBlock::find(), osl::rating::PatternBlockGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::rating::BlockGroup::findMatch(), osl::rating::ChaseGroup::findMatch(), osl::checkmate::DualDfpn::findProof(), osl::move_probability::StateInfo::findShortThreatmate(), osl::move_probability::StateInfo::finishUpdate(), flipHorizontal(), osl::Move::fromMove16(), osl::move_generator::GenerateEscapeOfTurn::generate(), osl::GenerateEscapeKing::generate(), osl::move_generator::GenerateCapture::generate(), osl::NumEffectState::generateAllUnsafe(), osl::GenerateEscapeKing::generateCheap(), osl::NumEffectState::generateLegal(), osl::rating::FeatureSet::generateRating(), osl::checkmate::Dfpn::hasCheckmateMove(), osl::checkmate::FixedDepthSolverExt::hasCheckmateMoveOfTurn(), osl::checkmate::FixedDepthSearcher::hasCheckmateMoveOfTurn(), osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuideOfTurn(), osl::checkmate::FixedDepthSolverExt::hasEscapeByMoveOfTurn(), osl::checkmate::FixedDepthSearcher::hasEscapeByMoveOfTurn(), osl::checkmate::Dfpn::hasEscapeMove(), osl::checkmate::FixedDepthSearcher::hasEscapeMoveOfTurn(), osl::hash::HashKey::HashKey(), osl::NumEffectState::inCheck(), osl::rating::PinAttack::index(), osl::eval::ml::MajorGoldSilverAttacked< Opening >::index(), osl::rating::Karanari::index(), osl::rating::ImmediateAddSupport::index(), osl::rating::BigramAttack::index(), isAlmostValidDrop(), isAlmostValidMove(), osl::NumEffectState::isAlmostValidMove(), osl::rating::Threatmate::isCandidate(), osl::move_probability::BreakThreatmate::isDefendingKing8(), osl::checkmate::DualDfpn::isLosingState(), isMated(), isValidMove(), isValidMoveByRule(), osl::rating::Threatmate::knight2Step(), osl::checkmate::ProofPieces::leaf(), osl::checkmate::DisproofPieces::leaf(), osl::checkmate::ProofNumberTable::libertyAfterAllDrop(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::record::KisenPlusFile::load(), osl::rating::RatingEnv::make(), osl::record::CsaFile::makeInfo(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::NumEffectState::makeMove(), osl::NumEffectState::makeUnmakeMove(), osl::rating::PinAttack::match(), osl::rating::AttackKing8::match(), osl::rating::Karanari::match(), osl::rating::Chase::match(), osl::rating::Block::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::LureDefender::match(), osl::rating::DefenseKing8::matchDrop(), osl::rating::Karanari::matchGeneral(), osl::rating::DefenseKing8::matchMove(), osl::book::MiniBoard::MiniBoard(), osl::book::MiniBoardChar50::MiniBoardChar50(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::rating::Threatmate::Helper::operator()(), osl::operator<<(), osl::operator==(), osl::kakinoki::KakinokiFile::parseLine(), osl::record::CsaFile::parseLine(), osl::record::KanjiPrint::print(), osl::RepetitionCounter::push(), rotate180(), osl::usi::show(), osl::usi::strToMove(), osl::psn::strToMove(), osl::record::KanjiMove::strToMove(), osl::kakinoki::strToMove(), osl::csa::strToMove(), osl::eval::ml::OpenMidEndingEval::suggestMove(), osl::move_probability::ToEffect::supportAttack(), testValidityOtherThanEffect(), osl::book::MiniBoardChar50::toSimpleState(), osl::checkmate::Dfpn::tryProofMain(), osl::progress::ml::NewProgress::update(), osl::eval::ml::OpenMidEndingEval::update(), osl::progress::Effect5x3::update(), osl::move_probability::PatternCommon::updateCacheOne(), osl::progress::ml::NewProgress::updateMain(), osl::progress::ml::NewProgress::updateSub(), と osl::NumEffectState::wasCheckEvasion().
const PieceMask& osl::SimpleState::usedMask | ( | ) | const [inline] |
std::ostream& operator<< | ( | std::ostream & | os, | |
const SimpleState & | state | |||
) | [friend] |
bool operator== | ( | const SimpleState & | st1, | |
const SimpleState & | st2 | |||
) | [friend] |
盤上の駒のみを比較する(持ち駒は見ない).
なお、駒番に非依存な局面比較をしたい場合は、oslrecord::CompactBoardや osl::hash::HashKeyを用いる.
CArray<Piece,Square::SIZE> osl::SimpleState::board [protected] |
simpleState.h の 47 行で定義されています。
参照元 osl::NumEffectState::copyFrom(), getPiecePtr(), pieceAt(), と setBoard().
const bool osl::SimpleState::hasPawnMask = true [static] |
simpleState.h の 41 行で定義されています。
CArray<BitXmask,2> osl::SimpleState::pawnMask [protected] |
simpleState.h の 57 行で定義されています。
参照元 clearPawn(), osl::NumEffectState::copyFrom(), init(), initPawnMask(), isConsistent(), isPawnMaskSet(), osl::operator==(), setPawn(), と setPiece().
CArray<Piece,Piece::SIZE> osl::SimpleState::pieces [protected] |
全てのpieceが登録されている
simpleState.h の 55 行で定義されています。
参照元 osl::NumEffectState::copyFrom(), osl::NumEffectState::findAttackNotBy(), osl::NumEffectState::findCheapAttackNotBy(), osl::NumEffectState::findThreatenedPiece(), osl::NumEffectState::forEachEffectNotBy(), init(), pieceOf(), osl::NumEffectState::selectCheapPiece(), と setPieceOf().
Player osl::SimpleState::player_to_move [protected] |
手番
simpleState.h の 61 行で定義されています。
参照元 changeTurn(), osl::NumEffectState::copyFrom(), init(), setTurn(), と turn().
CArray<CArray<char,PTYPE_SIZE-PTYPE_BASIC_MIN>,2> osl::SimpleState::stand_count [protected] |
CArray<PieceMask,2> osl::SimpleState::stand_mask [protected] |
simpleState.h の 56 行で定義されています。
参照元 osl::NumEffectState::copyFrom(), init(), setPiece(), setPieceAll(), と standMask().
PieceMask osl::SimpleState::used_mask [protected] |
simpleState.h の 62 行で定義されています。
参照元 osl::NumEffectState::copyFrom(), init(), isConsistent(), setPiece(), setPieceAll(), と usedMask().