駒. [詳細]
#include <basic_type.h>
Public メソッド | |
int | intValue () const |
Piece (Player owner, Ptype ptype, int num, Square square) | |
Piece () | |
Ptype | ptype () const |
PtypeO | ptypeO () const |
int | number () const |
const Square | square () const |
Piece & | operator+= (Offset offset) |
void | setSquare (Square square) |
template<Player P> | |
bool | isOnBoardByOwner () const |
piece がプレイヤーPの持ち物でかつボード上にある駒の場合は true. | |
bool | isOnBoardByOwner (Player owner) const |
isOnBoardByOwner の通常関数のバージョン. | |
const Piece | promote () const |
const Piece | unpromote () const |
const Piece | captured () const |
取られたpieceを作成. | |
const Piece | promoteWithMask (int promote_mask) const |
const Piece | checkPromote (bool promotep) const |
bool | isPromoted () const |
promoteした駒かどうかをチェックする | |
bool | isOnBoardNotPromoted () const |
promoteしていないOnBoardの駒であることのチェック Lance位しか使い道がない? | |
bool | isPromotedNotKingGold () const |
bool | isEmpty () const |
bool | isEdge () const |
template<Ptype T> | |
bool | isPtype () const |
bool | isPlayerPtype (Player pl, Ptype ptype) const |
あるpieceがPlayer pの持ち物でPtype ptypeであるかどうかをチェックする. TはEMPTY, EDGEではない. | |
bool | isPlayerBasicPtype (Player pl, Ptype ptype) const |
あるpieceがPlayer pの持ち物でBASIC typeがptypeであるかどうかをチェックする. TはEMPTY, EDGEではない. | |
bool | isPiece () const |
bool | pieceIsBlack () const |
pieceであることが分かっている時に,更にBlackかどうかをチェックする. | |
Player | owner () const |
template<Player P> | |
bool | canMoveOn () const |
Player Pの駒が,thisの上に移動できるか? PIECE_EMPTY 0x00008000 BLACK_PIECE 0x000XxxYY X>=2, YY>0 PIECE_EDGE 0xfff14000 WHITE_PIECE 0xfffXxxYY X>=2, YY>0. | |
bool | canMoveOn (Player pl) const |
bool | isOnBoard () const |
Static Public メソッド | |
static const Piece | makeDirect (int value) |
static const Piece | EMPTY () |
static const Piece | EDGE () |
static const Piece | makeKing (Player owner, Square square) |
玉を作る | |
static bool | isEmptyNum (int num) |
static bool | isEdgeNum (int num) |
static bool | isPieceNum (int num) |
Static Public 変数 | |
static const int | SIZE = 40 |
static const int | BitOffsetPtype = 16 |
static const int | BitOffsetPromote = BitOffsetPtype+3 |
static const int | BitOffsetMovePromote = BitOffsetPromote+4 |
Private メソッド | |
Piece (int p) | |
Private 変数 | |
int | piece |
駒.
駒はptypeo(-15 - 15), 番号(0-39), ポジション(0-0xff)からなる 上位16 bitでptypeo, 8bitで番号, 8bitでポジションとする. 空きマスは 黒,PTYPE_EMPTY, 番号 0x80, ポジション 0 盤外は 白,PTYPE_EDGE, 番号 0x40, ポジション 0
basic_type.h の 786 行で定義されています。
osl::Piece::Piece | ( | int | p | ) | [inline, private] |
basic_type.h の 789 行で定義されています。
basic_type.h の 802 行で定義されています。
osl::Piece::Piece | ( | ) | [inline] |
basic_type.h の 808 行で定義されています。
参照元 checkPromote(), EDGE(), intValue(), makeKing(), promote(), promoteWithMask(), と unpromote().
bool osl::Piece::canMoveOn | ( | ) | const [inline] |
Player Pの駒が,thisの上に移動できるか? PIECE_EMPTY 0x00008000 BLACK_PIECE 0x000XxxYY X>=2, YY>0 PIECE_EDGE 0xfff14000 WHITE_PIECE 0xfffXxxYY X>=2, YY>0.
P | 手番 |
basic_type.h の 979 行で定義されています。
参照元 osl::checkmate::detail::blockingDiagonalAttack(), osl::move_generator::detail::blockingU(), osl::checkmate::detail::blockingVerticalAttack(), osl::eval::ml::SilverFeatures::canRetreat(), osl::eval::ml::KnightAdvance::cantAdvance(), osl::rating::Threatmate::captureForKnightCheck(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::RookPromoteDefense::eval(), osl::move_generator::detail::generateBishopLongMove(), osl::move_generator::detail::generateBishopLongMoveNotKing(), osl::move_generator::detail::generateDirNotKing(), osl::move_generator::promote::MayPromoteDir< P, T, noCapture, Dir >::generateIfValid(), osl::move_generator::promote::AllPromoteDir< P, T, noCapture, Dir >::generateIfValid(), osl::move_generator::piece_on_board::generateKingDir(), osl::move_generator::detail::generateKnightDir(), osl::move_generator::piece_on_board::generateLance(), osl::move_generator::piece_on_board::generateLong(), osl::move_generator::piece_on_board::generatePawn(), osl::move_generator::detail::generateRookLongMove(), osl::move_generator::detail::generateRookLongMoveNotKing(), osl::move_generator::piece_on_board::generateShort(), osl::checkmate::King8Info::hasEffectMask(), osl::checkmate::detail::hasKnightCheckmate(), と osl::eval::ml::SilverFork::matchGold().
bool osl::Piece::canMoveOn | ( | Player | pl | ) | const [inline] |
const Piece osl::Piece::captured | ( | ) | const [inline] |
const Piece osl::Piece::checkPromote | ( | bool | promotep | ) | const [inline] |
basic_type.h の 890 行で定義されています。
static const Piece osl::Piece::EDGE | ( | ) | [inline, static] |
static const Piece osl::Piece::EMPTY | ( | ) | [inline, static] |
basic_type.h の 796 行で定義されています。
参照先 piece.
参照元 osl::move_generator::escape::blockByMoveOne(), osl::move_classifier::PawnDropCheckmate< P >::canEscape(), osl::NumEffectState::epilogueDrop(), osl::NumEffectState::epilogueSimple(), osl::NumEffectState::findAttackAt(), osl::NumEffectState::findAttackAtStrict(), osl::NumEffectState::findAttackNotBy(), osl::move_probability::StateInfo::findCheckmateDefender(), osl::NumEffectState::findLongAttackAt(), osl::rating::PatternGroup::findMatch(), osl::NumEffectState::findThreatenedPiece(), osl::move_generator::detail::generateDir(), osl::move_generator::Escape< Action >::generateMovesBy(), osl::move_generator::detail::generateOpenOrCapture(), osl::NumEffectState::hasEffectAt(), osl::SimpleState::init(), osl::NumEffectState::inUnblockableCheck(), osl::move_classifier::PawnDropCheckmate< P >::isMember(), osl::NumEffectState::makeMove(), osl::NumEffectState::makeUnmakeMove(), osl::rating::Pattern::match(), osl::SimpleState::nextPiece(), osl::rating::PatternLong::nextPieceOrEnd(), osl::operator<<(), osl::NumEffectState::prologueCapture(), osl::NumEffectState::prologueSimple(), と osl::NumEffectState::selectCheapPiece().
int osl::Piece::intValue | ( | ) | const [inline] |
basic_type.h の 795 行で定義されています。
参照先 Piece().
参照元 osl::move_generator::piece_on_board::generateLong(), osl::Move::newAddCapture(), osl::Move::newCapture(), と osl::operator<().
bool osl::Piece::isEdge | ( | ) | const [inline] |
basic_type.h の 918 行で定義されています。
参照元 osl::move_probability::BishopAttack::addOne(), osl::move_probability::PatternCommon::addOne(), osl::rating::DefenseKing8::count(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::EnterKingDefense::evalOne(), osl::effect_util::SendOffSquare::find(), osl::checkmate::King8Info::hasEffectMask(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::move_probability::LanceAttack::match(), osl::eval::ml::SilverFork::matchGold(), osl::rating::PatternLong::nextPieceOrEnd(), osl::csa::show(), osl::move_probability::PawnAttack::squareStatus(), と osl::TestEffectOfMove< P, InterestEmpty, Dir >::testShort().
static bool osl::Piece::isEdgeNum | ( | int | num | ) | [inline, static] |
bool osl::Piece::isEmpty | ( | ) | const [inline] |
basic_type.h の 912 行で定義されています。
参照先 piece.
参照元 osl::move_probability::BishopAttack::addOne(), osl::move_probability::AddEffectLong::addOne(), osl::rating::BadLance::basicMatch(), osl::checkmate::detail::blockingDiagonalAttack(), osl::checkmate::detail::blockingVerticalAttack(), osl::eval::ml::KnightCheck::canCheck(), osl::rating::Threatmate::captureForKnightCheck(), osl::record::KisenUtils::convertMove(), osl::eval::ml::King25EffectBoth::countEffectAndPiecesBoth(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::King8EffectAll::effectState(), osl::eval::ml::King8Effect::effectState(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::GoldFeatures::evalOne(), osl::eval::ml::SilverFeatures::evalOne(), osl::eval::ml::EnterKingDefense::evalOne(), osl::eval::ml::King25EmptyAbs< Opening >::evalOne(), osl::eval::ml::King25EmptySquareNoEffect::evalOne(), osl::eval::ml::AnagumaEmpty::evalOne(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::move_probability::StateInfo::findCheckmateDefender(), osl::eval::ml::BishopRookFork::findDropInLine(), osl::NumEffectState::forEachEffectOfPieceLongDir(), osl::move_generator::Escape< Action >::generateBlocking(), osl::move_generator::Escape< Action >::generateBlockingKing(), 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::piece_on_board::generateKingDir(), osl::move_generator::detail::generateKnightDir(), osl::move_generator::piece_on_board::generatePawn(), osl::move_generator::piece_on_board::generateShort(), osl::move_generator::drop::generateX(), osl::checkmate::King8Info::hasEffectMask(), osl::effect_util::Neighboring8Direct::Table::hasEffectOrAdditional(), osl::checkmate::detail::hasKnightCheckmate(), osl::eval::ml::King25EffectEach< Stage >::index(), osl::SimpleState::isAlmostValidDrop(), osl::SimpleState::isAlmostValidMove(), osl::SimpleState::isConsistent(), osl::SimpleState::isEmptyBetween(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::rating::LongTarget2::match(), osl::move_probability::LanceAttack::match(), osl::eval::ml::SilverFork::matchGold(), osl::eval::ml::SilverFork::matchRook(), osl::mobility::MobilityTable::MobilityTable(), osl::eval::ml::King8EffectBase::MakeEffectStateSimple::operator()(), osl::eval::ml::PinPtypeAll::pawnAttack(), osl::usi::show(), osl::csa::show(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::eval::ml::BishopRookFork::testCenter(), osl::TestEffectOfMove< P, InterestEmpty, Dir >::testLong(), osl::TestEffectOfMove< P, InterestEmpty, Dir >::testShort(), osl::SimpleState::testValidityOtherThanEffect(), と osl::move_probability::StateInfo::updatePinnedGenerals().
static bool osl::Piece::isEmptyNum | ( | int | num | ) | [inline, static] |
basic_type.h の 915 行で定義されています。
参照元 osl::effect_util::AdditionalOrShadow::count(), osl::effect::NumSimpleEffectTable::doBlockAt(), osl::effect::NumSimpleEffectTable::doEffectLong(), osl::effect_util::AdditionalEffect::hasEffect(), osl::NumEffectState::hasEffectByWithRemove(), osl::NumEffectState::makePinOpenDir(), と osl::NumEffectState::recalcPinOpen().
bool osl::Piece::isOnBoard | ( | ) | const [inline] |
basic_type.h の 984 行で定義されています。
参照先 osl::Square::isPieceStand(), osl::isValid(), と square().
参照元 osl::eval::ml::GoldFeatures::canRetreat(), osl::eval::ml::SilverFeatures::canRetreat(), osl::mobility::LanceMobility::countAll(), osl::mobility::BishopMobility::countAll(), osl::mobility::BishopMobility::countAllDir(), osl::eval::ml::NumPiecesBetweenBishopAndKing::countBetween(), osl::mobility::LanceMobility::countBoth(), osl::mobility::BishopMobility::countBoth(), osl::mobility::RookMobility::countHorizontalBoth(), osl::mobility::LanceMobility::countSafe(), osl::mobility::BishopMobility::countSafe(), osl::mobility::RookMobility::countVerticalBoth(), osl::effect::EffectedNumTable::EffectedNumTable(), osl::SimpleState::emulateHandPiece(), osl::eval::ml::BishopMobilityAll::eval(), osl::eval::ml::RookMobilityAll::eval(), osl::eval::ml::PtypeYPawnY::eval(), osl::eval::ml::LanceEffectPieceKingRelative::eval(), osl::eval::ml::KnightHead::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::AttackMajorsInBase::eval(), osl::eval::ml::BishopSilverKnight::eval(), osl::eval::ml::RookSilverKnight::eval(), osl::eval::ml::RookRookPiece::eval(), osl::eval::ml::BishopBishopPiece::eval(), osl::eval::ml::NumPiecesBetweenBishopAndKing::eval(), osl::eval::ml::BishopEffectBase::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::KingPieceRelative::eval(), osl::eval::ml::KingRookBishop::evalOne(), osl::eval::ml::MajorGoldSilverAttacked< Opening >::evalOne(), osl::eval::ml::BishopExchangeSilverKing::evalOne(), osl::eval::ml::PiecePair::index(), osl::eval::ml::RookRook::index(), osl::SimpleState::isConsistent(), osl::NumEffectState::isConsistent(), osl::SimpleState::isOnBoard(), osl::move_probability::StateInfo::makePinOfLongPieces(), osl::mobility::MobilityTable::MobilityTable(), osl::NumEffectState::NumEffectState(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::eval::ml::PiecePair::pieceValueDouble(), osl::record::myshogi::show(), osl::move_probability::BlockLong::updateCache(), osl::eval::ml::OpenMidEndingEval::updateGoldSilverNearKing(), osl::progress::ml::NewProgress::updatePieceKingRelativeBonus(), と osl::eval::ml::PiecePair::value().
bool osl::Piece::isOnBoardByOwner | ( | ) | const [inline] |
piece がプレイヤーPの持ち物でかつボード上にある駒の場合は true.
敵の駒だったり,駒台の駒だったり,PieceEMPTY(), PIECE_EDGEの場合は false
P(template) | - プレイヤー | |
piece | - |
basic_type.h の 851 行で定義されています。
参照元 osl::eval::ml::KnightFork::accumulate(), osl::progress::Effect5x3WithBonus::attackEffect3(), osl::eval::ml::KnightCheck::canCheck(), osl::move_classifier::PawnDropCheckmate< P >::canEscape(), osl::eval::ml::GoldFeatures::canMoveToSide(), osl::eval::ml::GoldFeatures::canRetreat(), osl::rating::ImmediateAddSupport::Test::doAction(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::King8EffectAll::effectState(), osl::eval::ml::KnightFork::evalOne(), osl::eval::ml::BishopRookFork::evalOne(), osl::move_probability::StateInfo::finishUpdate(), osl::move_generator::detail::generateDir(), osl::move_generator::detail::generateDirNotKing(), osl::move_generator::detail::generateKing(), osl::move_generator::detail::generateMovePiecePtypeMask(), osl::move_generator::detail::generateNotKing(), osl::move_generator::all_moves::generatePtype(), osl::move_generator::detail::generateRookLongMove(), osl::move_generator::detail::generateRookLongMoveNotKing(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDirPiece(), osl::checkmate::King8Info::hasEffectMask(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::move_probability::CoverPawn::match(), osl::move_probability::LanceAttack::match(), osl::eval::ml::SilverFork::matchGold(), osl::eval::ml::SilverFork::matchRook(), osl::effect_util::SendOffSquare::onlyOneSupport(), osl::eval::ml::King8EffectBase::MakeEffectStateDefense::operator()(), osl::ki2::show(), と osl::move_probability::StateInfo::updatePinnedGenerals().
bool osl::Piece::isOnBoardByOwner | ( | Player | owner | ) | const [inline] |
isOnBoardByOwner の通常関数のバージョン.
basic_type.h の 855 行で定義されています。
bool osl::Piece::isOnBoardNotPromoted | ( | ) | const [inline] |
promoteしていないOnBoardの駒であることのチェック Lance位しか使い道がない?
basic_type.h の 903 行で定義されています。
参照元 osl::eval::ml::LanceMobilityAll::eval(), osl::eval::ml::BishopHead::eval(), と osl::eval::ml::RookPromoteDefense::eval().
bool osl::Piece::isPiece | ( | ) | const [inline] |
basic_type.h の 952 行で定義されています。
参照元 osl::move_probability::BishopAttack::addOne(), osl::move_probability::AddEffectLong::addOne(), osl::move_probability::MoveInfo::adhocAdjustAttackCheckmateDefender(), osl::move_probability::MoveInfo::adhocAdjustBreakThreatmate(), osl::move_probability::MoveInfo::adhocAdjustKeepCheckmateDefender(), osl::checkmate::OracleAdjust::attack(), osl::rating::Threatmate::captureForKnightCheck(), osl::record::KisenUtils::convertMove(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::rating::PatternLong2::find(), osl::rating::PatternBlock::find(), osl::effect_util::AdditionalEffect::find(), osl::eval::See::findAdditionalPieces(), osl::NumEffectState::findLongAttackAt(), osl::rating::PatternLongGroup2::findMatch(), osl::move_generator::Capture< Action >::generate1(), osl::move_generator::detail::generateOpenOrCapture(), osl::NumEffectState::hasEffectByPiece(), osl::NumEffectState::hasEffectByWithRemove(), osl::eval::ml::PiecePair::index(), osl::SimpleState::isConsistent(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::BreakThreatmate::match(), osl::operator<<(), osl::eval::ml::PiecePair::pieceValueDouble(), osl::NumEffectState::safeCaptureNotByKing(), osl::csa::show(), osl::move_probability::PawnAttack::squareStatus(), osl::TestEffectOfMove< P, InterestEmpty, Dir >::testLong(), と osl::move_probability::PatternCommon::updateCacheOne().
static bool osl::Piece::isPieceNum | ( | int | num | ) | [inline, static] |
あるpieceがPlayer pの持ち物でBASIC typeがptypeであるかどうかをチェックする. TはEMPTY, EDGEではない.
basic_type.h の 944 行で定義されています。
あるpieceがPlayer pの持ち物でPtype ptypeであるかどうかをチェックする. TはEMPTY, EDGEではない.
basic_type.h の 936 行で定義されています。
参照元 osl::eval::ml::AttackMajorsInBase::addOne(), と osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang().
bool osl::Piece::isPromoted | ( | ) | const [inline] |
promoteした駒かどうかをチェックする
basic_type.h の 897 行で定義されています。
参照元 osl::eval::ml::SilverFeatures::canRetreat(), osl::eval::ml::BishopMobilityAll::eval(), osl::eval::ml::RookMobilityAll::eval(), osl::eval::ml::LanceEffectPieceKingRelative::eval(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::PawnPtypeOPtypeO::eval(), osl::eval::ml::KnightAdvance::eval(), osl::eval::ml::SilverFeatures::eval(), osl::eval::ml::PawnAdvance::eval(), osl::eval::ml::AttackMajorsInBase::eval(), osl::eval::ml::BishopSilverKnight::eval(), osl::eval::ml::RookSilverKnight::eval(), osl::eval::ml::BishopEffectBase::eval(), osl::eval::ml::RookEffectBase::eval(), osl::move_generator::detail::generateKing(), osl::move_generator::detail::generateNotKing(), osl::move_generator::all_moves::generatePtype(), osl::move_generator::detail::generateRookLongMove(), osl::move_generator::detail::generateRookLongMoveNotKing(), osl::eval::ml::RookRook::index(), osl::eval::ml::KingRookBishop::index(), osl::eval::ml::RookPawnY::index(), osl::eval::ml::MajorY< true, ROOK >::index(), osl::eval::ml::RookPawnY::indexY(), osl::SimpleState::isConsistent(), osl::NumEffectState::isConsistent(), osl::move_probability::PromotionBySacrifice::match(), osl::eval::ml::SilverFork::matchRook(), osl::book::MiniBoardChar50::MiniBoardChar50(), osl::NumEffectState::NumEffectState(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::move_generator::promote::EachOnBoard< Action, P, T, noCapture >::operator()(), osl::book::OPSquare::OPSquare(), promoteWithMask(), と osl::move_probability::BlockLong::updateCache().
bool osl::Piece::isPromotedNotKingGold | ( | ) | const [inline] |
bool osl::Piece::isPtype | ( | ) | const [inline] |
basic_type.h の 929 行で定義されています。
参照先 BitOffsetPtype, と piece.
参照元 osl::checkmate::OracleAdjust::attack(), と osl::checkmate::FixedDepthSolverExt::hasCheckmateWithGuide().
static const Piece osl::Piece::makeDirect | ( | int | value | ) | [inline, static] |
basic_type.h の 794 行で定義されています。
参照元 square().
const osl::Piece osl::Piece::makeKing | ( | Player | owner, | |
Square | square | |||
) | [static] |
int osl::Piece::number | ( | ) | const [inline] |
basic_type.h の 827 行で定義されています。
参照先 piece.
参照元 osl::move_probability::BlockLong::addPiece(), osl::eval::See::computeValue(), osl::mobility::LanceMobility::countAll(), osl::mobility::BishopMobility::countAll(), osl::mobility::BishopMobility::countAllDir(), osl::eval::ml::NumPiecesBetweenBishopAndKing::countBetween(), osl::mobility::RookMobility::countHorizontalAll(), osl::mobility::RookMobility::countVerticalAll(), osl::effect::NumSimpleEffectTable::doBlockAt(), osl::effect::NumSimpleEffectTable::doEffect(), osl::effect::NumSimpleEffectTable::doEffectLong(), osl::effect::NumSimpleEffectTable::doEffectShort(), osl::effect::EffectedNumTable::EffectedNumTable(), osl::move_generator::Capture< Action >::escapeByCapture(), osl::eval::ml::LanceEffectPieceKingRelative::eval(), osl::eval::ml::NonPawnAttackedPtype::eval(), osl::eval::ml::RookRookPiece::eval(), osl::eval::ml::BishopBishopPiece::eval(), osl::eval::ml::NonPawnAttackedPtypePair::evalOne(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::eval::See::findEffectPiecesAfterMove(), osl::NumEffectState::findLongAttackAt(), osl::NumEffectState::forEachEffectNotBy(), osl::move_generator::detail::generateDirNotKing(), osl::move_generator::promote::MayPromoteDir< P, T, noCapture, Dir >::generateIfValid(), osl::move_generator::promote::AllPromoteDir< P, T, noCapture, Dir >::generateIfValid(), osl::move_generator::piece_on_board::generateLance(), osl::move_generator::piece_on_board::generateLong(), osl::move_generator::detail::generateNotKing(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiece(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiecePtype(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePtype(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDirPiece(), osl::NumEffectState::hasEffectByPiece(), osl::NumEffectState::hasEffectByWithRemove(), osl::NumEffectState::hasEffectNotBy(), osl::SimpleState::isConsistent(), osl::move_classifier::KingOpenMove< P >::isMember(), makeKing(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::NumEffectState::mobilityOf(), osl::operator<<(), osl::NumEffectState::pinAttacker(), osl::NumEffectState::pinnedDir(), osl::NumEffectState::prologueCapture(), osl::NumEffectState::prologueSimple(), osl::NumEffectState::recalcPinOpen(), osl::NumEffectState::safeCaptureNotByKing(), osl::csa::show(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::move_probability::PatternCommon::updateCacheOne(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), osl::eval::ml::NonPawnAttacked::updateEffectChanged(), osl::progress::ml::NewProgress::updateNonPawnAttackedPtypePairOne(), と osl::NumEffectState::wasCheckEvasion().
basic_type.h の 835 行で定義されています。
参照先 osl::Offset::intValue(), と piece.
Player osl::Piece::owner | ( | ) | const [inline] |
basic_type.h の 962 行で定義されています。
参照元 osl::move_probability::BishopAttack::addOne(), osl::move_classifier::PawnDropCheckmate< P >::canEscape(), osl::eval::ml::GoldFeatures::canMoveToSide(), osl::eval::ml::GoldFeatures::canRetreat(), osl::eval::ml::SilverFeatures::canRetreat(), osl::eval::ml::KnightAdvance::cantAdvance(), osl::eval::See::computeValue(), osl::record::KisenUtils::convertMove(), osl::effect_util::AdditionalOrShadow::count(), osl::mobility::LanceMobility::countAll(), osl::mobility::BishopMobility::countAll(), osl::mobility::BishopMobility::countAllDir(), osl::eval::ml::NumPiecesBetweenBishopAndKing::countBetween(), osl::mobility::LanceMobility::countBoth(), osl::mobility::BishopMobility::countBoth(), osl::eval::ml::King25EffectBoth::countEffectAndPiecesBoth(), osl::mobility::RookMobility::countHorizontalBoth(), osl::mobility::LanceMobility::countSafe(), osl::mobility::BishopMobility::countSafe(), osl::mobility::RookMobility::countVerticalBoth(), osl::effect::NumSimpleEffectTable::doBlockAt(), osl::effect::EffectedNumTable::EffectedNumTable(), osl::SimpleState::emulateCapture(), osl::SimpleState::emulateHandPiece(), osl::eval::ml::BishopMobilityAll::eval(), osl::eval::ml::RookMobilityAll::eval(), osl::eval::ml::SilverAdvance26::eval(), osl::eval::ml::PtypeYPawnY::eval(), osl::eval::ml::LanceEffectPieceKingRelative::eval(), osl::eval::ml::KnightHead::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::AttackMajorsInBase::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::KingPieceRelative::eval(), osl::eval::ml::GoldFeatures::evalOne(), osl::eval::ml::MajorGoldSilverAttacked< Opening >::evalOne(), osl::eval::ml::EnterKingDefense::evalOne(), osl::eval::ml::BishopExchangeSilverKing::evalOne(), osl::eval::ml::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::effect_util::AdditionalEffect::find(), osl::eval::See::findAdditionalPieces(), osl::NumEffectState::findLongAttackAt(), osl::rating::PatternLongGroup2::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::SimpleState::flipHorizontal(), osl::move_generator::Escape< Action >::generate(), osl::move_generator::Escape< Action >::generateEscape(), osl::effect_util::AdditionalEffect::hasEffect(), osl::NumEffectState::hasEffectByWithRemove(), osl::NumEffectState::hasEffectNotBy(), osl::eval::ml::Pin::index(), osl::eval::ml::PtypeX::index(), osl::eval::ml::PtypeY::index(), osl::eval::ml::KingRookBishop::index(), osl::eval::ml::RookPawnY::index(), osl::eval::ml::MajorY< true, ROOK >::index(), osl::eval::ml::MajorGoldSilverAttacked< Opening >::index(), osl::eval::ml::KingPieceRelative::index(), osl::eval::ml::King25EffectEach< Stage >::index(), osl::eval::ml::NonPawnAttackedPtypePair::index1(), osl::eval::ml::NonPawnAttacked::indexK(), osl::eval::ml::PawnDropBoth::indexX(), osl::eval::ml::PawnDropBoth::indexY(), osl::eval::ml::RookPawnY::indexY(), osl::eval::ml::King8Effect::indexY(), osl::SimpleState::initPawnMask(), osl::SimpleState::isConsistent(), osl::move_classifier::SafeMove< P >::isMember(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::rating::LongTarget2::match(), osl::rating::Pattern::match(), osl::rating::AttackKing8::match(), osl::rating::RookDefense::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::eval::ml::SilverFork::matchGold(), osl::eval::ml::SilverFork::matchRook(), osl::book::MiniBoard::MiniBoard(), osl::book::MiniBoardChar50::MiniBoardChar50(), osl::mobility::MobilityTable::MobilityTable(), osl::NumEffectState::NumEffectState(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::operator<<(), osl::book::OPiece::OPiece(), osl::book::OSquare::OSquare(), osl::NumEffectState::pinAttacker(), osl::NumEffectState::pinnedCanMoveTo(), osl::NumEffectState::pinnedDir(), osl::SimpleState::rotate180(), osl::NumEffectState::safeCaptureNotByKing(), osl::record::myshogi::show(), osl::csa::show(), osl::move_probability::PawnAttack::squareStatus(), osl::SimpleState::testValidityOtherThanEffect(), osl::move_probability::BlockLong::updateCache(), osl::move_probability::PatternCommon::updateCacheOne(), osl::eval::ml::OpenMidEndingEval::updateGoldSilverNearKing(), osl::progress::ml::NewProgress::updatePieceKingRelativeBonus(), と osl::NumEffectState::wasCheckEvasion().
bool osl::Piece::pieceIsBlack | ( | ) | const [inline] |
pieceであることが分かっている時に,更にBlackかどうかをチェックする.
basic_type.h の 958 行で定義されています。
参照元 osl::eval::ml::LanceMobilityAll::eval(), と osl::move_generator::detail::generateOpenOrCapture().
const Piece osl::Piece::promote | ( | ) | const [inline] |
basic_type.h の 864 行で定義されています。
参照先 osl::canPromote(), piece, Piece(), と ptype().
const Piece osl::Piece::promoteWithMask | ( | int | promote_mask | ) | const [inline] |
basic_type.h の 884 行で定義されています。
参照先 BitOffsetMovePromote, BitOffsetPromote, isPromoted(), piece, と Piece().
参照元 osl::NumEffectState::prologueCapture(), と osl::NumEffectState::prologueSimple().
Ptype osl::Piece::ptype | ( | ) | const [inline] |
basic_type.h の 820 行で定義されています。
参照先 BitOffsetPtype, と piece.
参照元 osl::eval::ml::KnightFork::accumulate(), osl::eval::ml::PiecePairKing::add(), osl::eval::ml::AttackMajorsInBase::addOne(), osl::eval::ml::MajorCheckWithCapture::addOne(), osl::move_probability::BishopAttack::addOne(), osl::eval::ml::PiecePairKing::addSub(), osl::move_probability::MoveInfo::adhocAdjustBishopFork(), osl::checkmate::OracleAdjust::attack(), osl::record::KisenUtils::convertMove(), osl::mobility::LanceMobility::countAll(), osl::mobility::BishopMobility::countAll(), osl::mobility::BishopMobility::countAllDir(), osl::mobility::LanceMobility::countBoth(), osl::mobility::BishopMobility::countBoth(), osl::mobility::RookMobility::countHorizontalBoth(), osl::mobility::LanceMobility::countSafe(), osl::mobility::BishopMobility::countSafe(), osl::mobility::RookMobility::countVerticalBoth(), osl::SafeCapture::doAction(), 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::NumEffectState::doCaptureMove(), osl::NumEffectState::doUndoCaptureMove(), osl::effect::EffectedNumTable::EffectedNumTable(), osl::SimpleState::emulateCapture(), osl::SimpleState::emulateHandPiece(), osl::eval::ml::SilverAdvance26::eval(), osl::eval::ml::PtypeYPawnY::eval(), osl::eval::ml::NonPawnAttackedPtype::eval(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::PtypeX::eval(), osl::eval::ml::PtypeY::eval(), osl::eval::ml::RookRookPiece::eval(), osl::eval::ml::BishopBishopPiece::eval(), osl::eval::ml::RookPromoteDefense::eval(), osl::eval::ml::KingPieceRelative::eval(), osl::eval::ml::Pin::eval(), osl::eval::ml::SimplePin::eval(), osl::eval::ml::Promotion37::evalOne(), osl::eval::ml::KnightFork::evalOne(), osl::eval::ml::BishopRookFork::evalOne(), osl::eval::ml::EnterKingDefense::evalOne(), osl::eval::ml::CheckShadowPtype::evalOne(), osl::eval::ml::PinPtypeAll::evalOne(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::rating::PatternBlock::find(), osl::rating::PatternLongGroup2::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::SimpleState::flipHorizontal(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generate(), osl::move_generator::detail::generateDirNotKing(), osl::move_generator::Escape< Action >::generateEscape(), osl::move_generator::detail::generateMovePiecePtypeMask(), osl::move_generator::Escape< Action >::generateMoves(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiece(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiecePtypeUnsafe(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePieceUnsafe(), osl::move_generator::piece_on_board::generatePtypePromote(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDirPiece(), osl::checkmate::detail::hasKnightCheckmate(), osl::rating::PinAttack::index(), osl::eval::ml::PtypeX::index(), osl::eval::ml::PtypeY::index(), osl::eval::ml::MajorGoldSilverAttacked< Opening >::index(), osl::eval::ml::KingPieceRelativeNoSupport::index(), osl::rating::ImmediateAddSupport::index(), osl::eval::ml::NonPawnAttackedPtypePair::index1(), osl::eval::ml::NonPawnAttacked::indexK(), osl::progress::ml::NewProgress::indexRelative(), osl::SimpleState::isConsistent(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::record::KisenPlusFile::load(), osl::move_probability::StateInfo::makePinOfLongPieces(), osl::rating::PinAttack::match(), osl::rating::LongTarget2::match(), osl::rating::Pattern::match(), osl::rating::AttackKing8::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::CoverFork::match(), osl::move_probability::CoverPawn::match(), osl::move_probability::OpposingPawn::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::LanceAttack::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::move_probability::AttackFromOpposingSliders::match(), osl::eval::ml::SilverFork::matchGold(), osl::eval::ml::SilverFork::matchRook(), osl::book::MiniBoard::MiniBoard(), osl::book::MiniBoardChar50::MiniBoardChar50(), osl::mobility::MobilityTable::MobilityTable(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::PieceBasicLessThan::operator()(), osl::operator<<(), osl::book::OPiece::OPiece(), promote(), osl::progress::ml::NewProgress::promotion37One(), osl::SimpleState::rotate180(), osl::NumEffectState::safeCaptureNotByKing(), osl::record::myshogi::show(), osl::ki2::show(), osl::csa::show(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::move_probability::PawnAttack::squareStatus(), osl::psn::strToMove(), osl::kakinoki::strToMove(), osl::csa::strToMove(), osl::eval::ml::PiecePairKing::sub(), osl::move_probability::ToEffect::supportAttack(), osl::SimpleState::testValidityOtherThanEffect(), osl::move_action::NotKingOpenFilter< P, OrigAction >::unknownMove(), osl::move_action::NoAddEffectFilter< OrigAction >::unknownMove(), osl::move_action::NoEffectFilter< P, OrigAction >::unknownMove(), osl::move_action::Store::unknownMove(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), osl::progress::ml::NewProgress::updatePieceKingRelativeBonus(), と osl::move_probability::StateInfo::updatePinnedGenerals().
PtypeO osl::Piece::ptypeO | ( | ) | const [inline] |
basic_type.h の 823 行で定義されています。
参照元 osl::move_probability::MoveInfo::adhocAdjustBreakThreatmate(), osl::eval::ml::PiecePair::adjust12One(), osl::eval::ml::PawnAdvanceUtil::cantAdvance(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::effect::NumSimpleEffectTable::doEffect(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::PieceEval::eval(), osl::eval::ml::LanceEffectPieceKingRelative::eval(), osl::eval::ml::PawnPtypeOPtypeO::eval(), osl::eval::ml::BishopStandFile5::eval(), osl::eval::ml::BishopHead::eval(), osl::eval::ml::BishopEffectBase::evalOne(), osl::eval::ml::RookEffectBase::evalOne(), osl::eval::ml::King3Pieces::evalOne(), osl::eval::ml::PawnPtypeOPtypeO::evalWithUpdate(), osl::effect_util::AdditionalEffect::find(), osl::eval::See::findAdditionalPieces(), osl::NumEffectState::forEachEffectOfPiece(), osl::hash::HashKey::HashKey(), osl::eval::ml::PiecePair::index(), osl::eval::ml::PtypeYY::index(), osl::eval::ml::King25EffectEachBoth::index(), osl::NumEffectState::inUnblockableCheck(), osl::SimpleState::isAlmostValidMove(), osl::move_probability::BreakThreatmate::isDefendingKing8(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::BreakThreatmate::match(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::PiecePtypeMoreThan::operator()(), osl::operator==(), osl::record::KanjiPrint::print(), osl::NumEffectState::prologueCapture(), osl::NumEffectState::prologueDrop(), osl::NumEffectState::prologueSimple(), osl::usi::show(), osl::effect_action::StorePtypeOSquare::store(), osl::eval::ml::PiecePair::sum12One(), osl::move_probability::PatternCommon::updateCacheOne(), osl::move_probability::StateInfo::updatePinnedGenerals(), osl::eval::ml::PiecePair::value(), と osl::eval::ml::PiecePair::valueCompiled().
void osl::Piece::setSquare | ( | Square | square | ) | [inline] |
basic_type.h の 840 行で定義されています。
参照先 piece, と osl::Square::uintValue().
const Square osl::Piece::square | ( | ) | const [inline] |
basic_type.h の 831 行で定義されています。
参照先 makeDirect(), と piece.
参照元 osl::eval::ml::PiecePairKing::add(), osl::eval::ml::AttackMajorsInBase::addOne(), osl::eval::ml::MajorCheckWithCapture::addOne(), osl::move_probability::BlockLong::addPiece(), osl::eval::ml::PiecePairKing::addSub(), osl::move_probability::MoveInfo::adhocAdjustKeepCheckmateDefender(), osl::move_probability::MoveInfo::adhocAdjustSlider(), osl::checkmate::OracleAdjust::attack(), osl::checkmate::detail::blockingDiagonalAttack(), osl::move_generator::detail::blockingU(), osl::checkmate::detail::blockingVerticalAttack(), 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::eval::See::computeValue(), osl::mobility::LanceMobility::countAll(), osl::mobility::BishopMobility::countAllDir(), osl::eval::ml::NumPiecesBetweenBishopAndKing::countBetween(), osl::mobility::LanceMobility::countBoth(), osl::mobility::BishopMobility::countBoth(), osl::mobility::RookMobility::countHorizontalBoth(), osl::mobility::RookMobility::countHorizontalSafe(), osl::mobility::LanceMobility::countSafe(), osl::mobility::BishopMobility::countSafe(), osl::mobility::RookMobility::countVerticalBoth(), osl::mobility::RookMobility::countVerticalSafe(), osl::move_probability::CoverFork::defending(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::SafeCapture::doAction(), 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::doEffect(), osl::effect::EffectedNumTable::EffectedNumTable(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::SimpleState::emulateCapture(), osl::SimpleState::emulateHandPiece(), osl::eval::ml::LanceMobilityAll::eval(), osl::eval::ml::RookMobilityAll::eval(), osl::eval::ml::PtypeYPawnY::eval(), osl::eval::ml::NonPawnAttackedPtype::eval(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::PawnPtypeOPtypeO::eval(), osl::eval::ml::PtypeX::eval(), osl::eval::ml::PtypeY::eval(), osl::eval::ml::KnightAdvance::eval(), osl::eval::ml::PawnAdvance::eval(), osl::eval::ml::BishopSilverKnight::eval(), osl::eval::ml::RookSilverKnight::eval(), osl::eval::ml::RookRookPiece::eval(), osl::eval::ml::BishopBishopPiece::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::KingPieceRelative::eval(), osl::eval::ml::PiecePairKing::evalOne(), osl::eval::ml::GoldFeatures::evalOne(), osl::eval::ml::SilverFeatures::evalOne(), osl::eval::ml::KnightFork::evalOne(), osl::eval::ml::BishopRookFork::evalOne(), osl::eval::ml::PromotedMinorPieces::evalOne(), osl::eval::ml::MajorGoldSilverAttacked< Opening >::evalOne(), osl::eval::ml::BishopExchangeSilverKing::evalOne(), osl::eval::ml::King25Effect3::evalOne(), osl::eval::ml::King25EmptySquareNoEffect::evalOne(), osl::eval::ml::CheckShadowPtype::evalOne(), osl::eval::ml::PinPtypeAll::evalOne(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::rating::PatternLong2::find(), osl::rating::PatternBlock::find(), osl::effect_util::AdditionalEffect::find(), osl::eval::See::findAdditionalPieces(), osl::eval::See::findEffectPiecesAfterMove(), osl::SimpleState::flipHorizontal(), osl::NumEffectState::forEachEffectOfPiece(), osl::move_generator::Escape< Action >::generate(), osl::move_generator::detail::generateBishopLongMove(), osl::move_generator::detail::generateBishopLongMoveNotKing(), osl::move_generator::Escape< Action >::generateBlockingKing(), osl::checkmate::FixedDepthSearcher::generateBlockingWhenLiberty0(), osl::move_generator::detail::generateDir(), osl::move_generator::detail::generateDirNotKing(), osl::move_generator::Escape< Action >::generateEscape(), 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::detail::generateMovePiecePtypeMask(), osl::move_generator::Escape< Action >::generateMovesBy(), osl::move_generator::detail::generateMoveToPtypeMaskWithPieceMask(), osl::move_generator::detail::generateOpenOrCapture(), osl::move_generator::piece_on_board::generatePawn(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiece(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiecePtype(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiecePtypeUnsafe(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePieceUnsafe(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePtypeUnsafe(), osl::move_generator::detail::generateRookLongMove(), osl::move_generator::detail::generateRookLongMoveNotKing(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDirPiece(), osl::effect_util::AdditionalEffect::hasEffect(), osl::NumEffectState::hasEffectInDirection(), osl::hash::HashKey::HashKey(), osl::checkmate::detail::hasKnightCheckmate(), osl::rating::PinAttack::index(), osl::eval::ml::Pin::index(), osl::eval::ml::PiecePair::index(), osl::eval::ml::PtypeX::index(), osl::eval::ml::PtypeY::index(), osl::eval::ml::RookRook::index(), osl::eval::ml::KingRookBishop::index(), osl::eval::ml::RookPawnY::index(), osl::eval::ml::MajorY< true, ROOK >::index(), osl::eval::ml::PtypeYY::index(), osl::eval::ml::KingPieceRelativeNoSupport::index(), osl::eval::ml::KingPieceRelative::index(), osl::rating::ImmediateAddSupport::index(), osl::eval::ml::NonPawnAttackedPtypePair::index1(), osl::eval::ml::NonPawnAttacked::indexK(), osl::progress::ml::NewProgress::indexRelative(), osl::eval::ml::PawnDropBoth::indexX(), osl::eval::ml::PawnDropBoth::indexY(), osl::eval::ml::RookPawnY::indexY(), osl::eval::ml::King8Effect::indexY(), osl::SimpleState::initPawnMask(), osl::NumEffectState::inUnblockableCheck(), osl::SimpleState::isConsistent(), osl::NumEffectState::isConsistent(), osl::move_probability::BreakThreatmate::isDefendingKing8(), osl::move_classifier::PawnDropCheckmate< P >::isMember(), isOnBoard(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::checkmate::King8Info::make(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::move_probability::StateInfo::makePinOfLongPieces(), osl::rating::PinAttack::match(), osl::rating::RookDefense::match(), osl::move_probability::EscapeThreatened::match(), osl::move_probability::PromotionBySacrifice::match(), osl::move_probability::CoverFork::match(), osl::move_probability::AttackKing8Long::match(), osl::move_probability::BreakThreatmate::match(), osl::move_probability::LongRecapture::match(), osl::move_probability::AttackToOpposingSliders::match(), osl::eval::ml::SilverFork::matchGold(), osl::eval::ml::SilverFork::matchRook(), osl::book::MiniBoard::MiniBoard(), osl::book::MiniBoardChar50::MiniBoardChar50(), osl::mobility::MobilityTable::MobilityTable(), osl::NumEffectState::NumEffectState(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::move_generator::promote::EachOnBoard< Action, P, T, noCapture >::operator()(), osl::operator<<(), osl::book::OPiece::OPiece(), osl::book::OSquare::OSquare(), osl::eval::ml::PinPtypeAll::pawnAttack(), osl::eval::ml::PiecePair::pieceValueDouble(), osl::NumEffectState::pinnedCanMoveTo(), osl::NumEffectState::pinnedDir(), osl::SimpleState::rotate180(), osl::record::myshogi::show(), osl::ki2::show(), osl::checkmate::detail::slowCheckDrop(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::effect_action::StorePtypeOSquare::store(), osl::eval::ml::PiecePairKing::sub(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), osl::eval::ml::OpenMidEndingEval::updateGoldSilverNearKing(), osl::progress::ml::NewProgress::updatePawnFacing(), osl::move_probability::StateInfo::updatePinnedGenerals(), osl::eval::ml::PiecePair::value(), と osl::eval::ml::PiecePair::valueCompiled().
const Piece osl::Piece::unpromote | ( | ) | const [inline] |
basic_type.h の 870 行で定義されています。
const int osl::Piece::BitOffsetMovePromote = BitOffsetPromote+4 [static] |
basic_type.h の 800 行で定義されています。
参照元 promoteWithMask().
const int osl::Piece::BitOffsetPromote = BitOffsetPtype+3 [static] |
basic_type.h の 799 行で定義されています。
参照元 promoteWithMask().
const int osl::Piece::BitOffsetPtype = 16 [static] |
basic_type.h の 798 行で定義されています。
参照元 isPtype(), osl::Move::newCapture(), と ptype().
int osl::Piece::piece [private] |
basic_type.h の 788 行で定義されています。
参照元 checkPromote(), EMPTY(), isEmpty(), isPtype(), number(), operator+=(), promote(), promoteWithMask(), ptype(), setSquare(), square(), と unpromote().
const int osl::Piece::SIZE = 40 [static] |
basic_type.h の 793 行で定義されています。
参照元 osl::eval::ml::PieceEval::eval(), osl::eval::ml::PiecePair::eval(), osl::eval::ml::PtypeYPawnY::eval(), osl::eval::ml::PtypeX::eval(), osl::eval::ml::PtypeY::eval(), osl::eval::ml::PtypeYY::eval(), osl::eval::ml::KingPieceRelative::eval(), osl::SimpleState::init(), osl::SimpleState::isConsistent(), osl::NumEffectState::isConsistent(), osl::book::MiniBoardChar50::MiniBoardChar50(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::progress::PtypeProgress::PtypeProgress(), osl::progress::ml::NewProgress::setUp(), osl::record::myshogi::show(), osl::NumEffectState::showEffect(), osl::book::MiniBoardChar50::toSimpleState(), と osl::progress::ml::NewProgress::updatePieceKingRelativeBonus().