クラス osl::Piece

駒. [詳細]

#include <piece.h>

すべてのメンバ一覧

Public メソッド

int intValue () const
 Piece (Player owner, Ptype ptype, int num, Position position)
 Piece ()
Ptype ptype () const
PtypeO ptypeO () const
int number () const
const Position position () const
Pieceoperator+= (Offset offset)
void setPosition (Position position)
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 isPiece () const
bool pieceIsBlack () const
 pieceであることが分かっている時に,更にBlackかどうかをチェックする.
Player owner () const
template<Player P>
bool canMoveOn () const
 Player Pの駒が,thisの上に移動できるか?
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, Position position)
 玉を作る
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)
bool isOnBoardByOwner (Int2Type< BLACK >) const
bool isOnBoardByOwner (Int2Type< WHITE >) const
 opteronでは, return static_cast<int>((piece+0x80000000)&0x800000ff)>0; の方が速かった.
bool canMoveOn (Int2Type< BLACK >) const
 PIECE_EMPTY 0x00008000 BLACK_PIECE 0x000XxxYY X>=2, YY>0 PIECE_EDGE 0xfff14000 WHITE_PIECE 0xfffXxxYY X>=2, YY>0.
bool canMoveOn (Int2Type< WHITE >) const

Private 変数

int piece

説明

駒.

駒はptypeo(-15 - 15), 番号(0-39), ポジション(0-0xff)からなる 上位16 bitでptypeo, 8bitで番号, 8bitでポジションとする. 空きマスは 黒,PTYPE_EMPTY, 番号 0x80, ポジション 0 盤外は 白,PTYPE_EDGE, 番号 0x40, ポジション 0

piece.h22 行で定義されています。


コンストラクタとデストラクタ

osl::Piece::Piece ( int  p  )  [inline, private]

piece.h25 行で定義されています。

osl::Piece::Piece ( Player  owner,
Ptype  ptype,
int  num,
Position  position 
) [inline]

piece.h38 行で定義されています。

osl::Piece::Piece (  )  [inline]

piece.h44 行で定義されています。

参照元 captured(), checkPromote(), EDGE(), EMPTY(), makeDirect(), makeKing(), promote(), promoteWithMask(), と unpromote().


関数

bool osl::Piece::canMoveOn ( Player  pl  )  const [inline]

piece.h213 行で定義されています。

参照先 osl::BLACK.

template<Player P>
bool osl::Piece::canMoveOn (  )  const [inline]

Player Pの駒が,thisの上に移動できるか?

戻り値:
thisが相手の駒かEMPTYならtrue
引数:
P 手番

piece.h211 行で定義されています。

参照先 canMoveOn().

参照元 canMoveOn().

bool osl::Piece::canMoveOn ( Int2Type< WHITE >   )  const [inline, private]

piece.h202 行で定義されています。

参照先 piece.

bool osl::Piece::canMoveOn ( Int2Type< BLACK >   )  const [inline, private]

PIECE_EMPTY 0x00008000 BLACK_PIECE 0x000XxxYY X>=2, YY>0 PIECE_EDGE 0xfff14000 WHITE_PIECE 0xfffXxxYY X>=2, YY>0.

piece.h199 行で定義されています。

参照先 piece.

参照元 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::without_effect::generateLongMove(), 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::move_classifier::TrapRook< P >::isMember(), osl::container::NearMask::make(), osl::eval::ml::SilverFork::matchGold(), と osl::move_classifier::TrapRook< P >::testDirection().

const Piece osl::Piece::captured (  )  const [inline]

取られたpieceを作成.

unpromoteして,Positionは0に 相手の持ちものにする

piece.h122 行で定義されています。

参照先 piece, と Piece().

参照元 osl::apply_move::ApplyDoUndoCaptureMove< P, state::SimpleState >::prologue(), と osl::eval::endgame::AttackDefense::updateKingMove().

const Piece osl::Piece::checkPromote ( bool  promotep  )  const [inline]

piece.h134 行で定義されています。

参照先 piece, と Piece().

static const Piece osl::Piece::EDGE (  )  [inline, static]
static const Piece osl::Piece::EMPTY (  )  [inline, static]

piece.h32 行で定義されています。

参照先 osl::BLACK, osl::EMPTY_NUM, Piece(), osl::PTYPE_EMPTY, と osl::Position::STAND().

参照元 osl::search::QuiescenceGenerator< P >::attackMajorPiece(), osl::search::QuiescenceGenerator< P >::attackWithKnight(), osl::move_generator::escape::blockByMoveOne(), osl::move_classifier::PawnDropCheckmate< P >::canEscape(), osl::apply_move::ApplyMoveOfTurn::doMove(), osl::apply_move::ApplyMove< P >::doUndoMove(), osl::state::NumEffectState::effectPtype(), osl::state::NumEffectState::effectPtypeStrict(), osl::apply_move::ApplyDoUndoDropMove< P, state::SimpleState >::epilogue(), osl::apply_move::ApplyDoUndoSimpleMove< P, state::SimpleState >::epilogue(), osl::eval::ppair::PiecePairEval< Eval, Table >::expect(), osl::effect_util::Pin::findLance(), osl::rating::PatternGroup::findMatch(), osl::move_action::EscapeFilter< P, OrigAction >::findThreat(), osl::state::NumEffectState::findThreatenedPiece(), osl::state::NumEffectState::findThreatNotBy(), osl::search::BreakThreatmate::generate(), osl::move_generator::OpenKingRoad< P >::generateDir(), osl::move_generator::detail::generateDir(), osl::move_generator::addeffect8::generateLongMove(), osl::move_generator::Escape< Action >::generateMovesBy(), osl::move_generator::detail::generateOpenOrCapture(), osl::state::NumEffectState::hasEffectBy(), osl::effect_util::UnblockableCheck::isMember(), osl::move_classifier::PawnDropCheckmate< P >::isMember(), osl::state::NumEffectState::longEffectOfDirection(), osl::rating::Pattern::match(), osl::state::SimpleState::nextPiece(), osl::rating::PatternLong::nextPieceOrEnd(), osl::operator<<(), osl::threatmate::RichPredictor::predict(), osl::apply_move::ApplyDoUndoCaptureMove< P, state::SimpleState >::prologue(), osl::apply_move::ApplyDoUndoSimpleMove< P, state::SimpleState >::prologue(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), と osl::state::NumEffectState::selectCheapPiece().

int osl::Piece::intValue (  )  const [inline]
bool osl::Piece::isEdge (  )  const [inline]
static bool osl::Piece::isEdgeNum ( int  num  )  [inline, static]
bool osl::Piece::isEmpty (  )  const [inline]

piece.h156 行で定義されています。

参照先 piece.

参照元 osl::checkmate::detail::blockingVerticalAttack(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateAttackBonusOne(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateEnterKingBonus(), osl::move_generator::addeffect8::canAddLongEffect(), osl::eval::ml::KnightCheck::canCheck(), osl::rating::Threatmate::captureForKnightCheck(), osl::eval::ml::King25EffectBoth::countEffectAndPiecesBoth(), osl::checkmate::FixedDepthSearcher2::defense(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::FixedDepthSearcher2::defenseEstimation(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::King8EffectAll::effectState(), osl::eval::ml::KnightHead::eval(), osl::eval::ml::SilverFeatures::evalOne(), osl::eval::ml::King25EmptyAbs< Opening >::evalOne(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::search::BreakThreatmate::findBlockLong(), osl::move_action::EscapeFilter< P, OrigAction >::findThreat(), osl::state::NumEffectState::forEachEffectOfPieceLongDir(), osl::move_generator::AdditionalLance< P >::generate(), osl::move_generator::detail::generateDir(), 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::without_effect::generateLongMove(), osl::move_generator::addeffect8::generateLongMove(), osl::move_generator::piece_on_board::generatePawn(), osl::move_generator::piece_on_board::generateShort(), osl::move_generator::addeffect8::generateShortMove(), 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::state::SimpleState::isAlmostValidMove(), osl::state::NumEffectState::isAlmostValidMove(), osl::state::SimpleState::isEmptyBetween(), osl::move_classifier::TrapRook< P >::isMember(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), osl::container::NearMask::make(), osl::rating::LongTarget2::match(), osl::record::csa::show(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::move_action::EscapeFilter< P, OrigAction >::suitable(), osl::eval::ml::BishopRookFork::testCenter(), osl::move_classifier::TrapRook< P >::testDirection(), osl::effect_util::TestEffectOfMove< P, InterestEmpty, Dir >::testLong(), osl::effect_util::TestEffectOfMove< P, InterestEmpty, Dir >::testShort(), osl::search::StateElements::validCaptureMove(), と osl::search::StateElements::validSimpleMove().

static bool osl::Piece::isEmptyNum ( int  num  )  [inline, static]
bool osl::Piece::isOnBoard (  )  const [inline]

piece.h220 行で定義されています。

参照先 osl::Position::isPieceStand(), osl::isValid(), と position().

参照元 osl::eval::ppair::PiecePairEvalTableBase< Table >::adjustPairs(), osl::eval::ppair::PiecePairEvalTableBase< Table >::adjustPairsAfterMove(), osl::search::QuiescenceGenerator< P >::attackKnightWithPawn(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateAttackBonusOne(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateAttackRooks(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateGoldPenalty(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateRookRankBonus(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateSilverPenalty(), 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::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::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::PiecePair::index(), osl::eval::ml::RookRook::index(), osl::state::NumEffectState::isConsistent(), osl::state::SimpleState::isOnBoard(), make1(), make2(), osl::annotate::ThreatmateIfMorePieces::match(), osl::state::NumEffectState::NumEffectState(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::eval::ppair::PiecePairWithStand< Table >::PiecePairWithStand(), osl::eval::ml::PiecePair::pieceValueDouble(), osl::eval::ppair::PiecePairWithStand< Table >::setValues(), show(), osl::record::myshogi::show(), osl::eval::ppair::PiecePairWithStand< Table >::standBonus(), osl::eval::ml::OpenMidEndingEval::updateGoldSilverNearKing(), osl::progress::ml::NewProgress::updatePieceKingRelativeBonus(), と osl::eval::ml::PiecePair::value().

bool osl::Piece::isOnBoardByOwner ( Player  owner  )  const [inline]

isOnBoardByOwner の通常関数のバージョン.

piece.h99 行で定義されています。

参照先 osl::BLACK.

template<Player P>
bool osl::Piece::isOnBoardByOwner (  )  const [inline]

piece がプレイヤーPの持ち物でかつボード上にある駒の場合は true.

敵の駒だったり,駒台の駒だったり,PieceEMPTY(), PIECE_EDGEの場合は false

引数:
P(template) - プレイヤー
piece -

piece.h95 行で定義されています。

参照先 isOnBoardByOwner().

参照元 isOnBoardByOwner().

bool osl::Piece::isOnBoardByOwner ( Int2Type< WHITE >   )  const [inline, private]

opteronでは, return static_cast<int>((piece+0x80000000)&0x800000ff)>0; の方が速かった.

piece.h84 行で定義されています。

参照先 piece.

bool osl::Piece::isOnBoardByOwner ( Int2Type< BLACK >   )  const [inline, private]

piece.h76 行で定義されています。

参照先 piece.

参照元 osl::search::QuiescenceGenerator< P >::advanceBishop(), osl::search::QuiescenceGenerator< P >::attackGoldWithPawn(), osl::search::QuiescenceGenerator< P >::attackMajorPiece(), osl::search::QuiescenceGenerator< P >::attackSilverWithPawn(), osl::search::QuiescenceGenerator< P >::attackWithKnight(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateMobilityBonusBishop(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateMobilityBonusLance(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateMobilityBonusRook(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateRookRankBonus(), osl::move_generator::addeffect8::canAddLongEffect(), osl::eval::ml::KnightCheck::canCheck(), osl::move_classifier::PawnDropCheckmate< P >::canEscape(), osl::eval::ml::GoldFeatures::canRetreat(), osl::rating::ImmediateAddSupport::Test::doAction(), osl::eval::ml::King8EffectAll::effectState(), osl::search::QuiescenceGenerator< P >::escapeAll(), osl::search::QuiescenceGenerator< P >::escapeByMoveOnly(), osl::search::QuiescenceGenerator< P >::escapeFromLastMove(), osl::eval::ml::KnightFork::evalOne(), osl::eval::ml::BishopRookFork::evalOne(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::effect_util::UnblockableEffect::find(), osl::effect_util::Pin::findDirection(), osl::eval::TakeBackValue::findEffectPiecesAfterMove(), osl::effect_util::Pin::findLance(), osl::effect_util::Pin::findPtype(), osl::search::QuiescenceSearch2< EvalT >::generateAndExamineTakeBack2(), osl::search::AlphaBeta3::generateCapture(), osl::search::AlphaBeta3::generateCaptureAll(), osl::move_generator::detail::generateDir(), osl::move_generator::detail::generateDirNotKing(), osl::move_generator::detail::generateKing(), osl::move_generator::addeffect8::generateLongDrop(), osl::move_generator::addeffect8::generateLongDropWithOffset(), osl::move_generator::without_effect::generateLongMove(), osl::move_generator::addeffect8::generateLongMove(), 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::King8Info::hasEffectMask(), osl::move_classifier::TrapRook< P >::isMember(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::makeCapture(), osl::eval::ml::SilverFork::matchGold(), osl::eval::ml::SilverFork::matchRook(), osl::effect_util::SendOffPosition::onlyOneSupport(), osl::search::QuiescenceGenerator< P >::promote(), osl::search::AlphaBeta3::quiesce(), osl::search::AlphaBeta3::quiesceRoot(), osl::record::ki2::show(), と osl::move_classifier::TrapRook< P >::testDirection().

bool osl::Piece::isOnBoardNotPromoted (  )  const [inline]

promoteしていないOnBoardの駒であることのチェック Lance位しか使い道がない?

piece.h147 行で定義されています。

参照先 piece.

参照元 osl::eval::ml::LanceMobilityAll::eval(), osl::eval::ml::BishopHead::eval(), と osl::eval::ml::RookPromoteDefense::eval().

bool osl::Piece::isPiece (  )  const [inline]

piece.h176 行で定義されています。

参照先 piece.

参照元 osl::checkmate::OracleAdjust::attack(), osl::search::QuiescenceGenerator< P >::breakThreatmate(), osl::search::QuiescenceGenerator< P >::capture(), osl::rating::Threatmate::captureForKnightCheck(), osl::search::QuiescenceSearch2< EvalT >::currentValueWithLastThreat(), osl::move_action::EscapeFilter< P, OrigAction >::EscapeFilter(), 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::effect_util::VirtualPin::findDirection(), osl::rating::PatternLongGroup2::findMatch(), osl::effect_util::Pin::findOffset(), osl::move_generator::Capture< Action >::generate1(), osl::move_generator::detail::generateOpenOrCapture(), osl::search::BreakThreatmate::generateOpenRoad(), osl::state::NumEffectState::hasEffectByPiece(), osl::state::NumEffectState::hasEffectByWithRemove(), osl::eval::ml::PiecePair::index(), osl::move_classifier::BlockLongEffect< P, T >::isMember(), osl::state::NumEffectState::longEffectOfDirection(), osl::annotate::Vision3::match(), osl::effect_util::EffectUtil::FindThreat< EvalT >::operator()(), osl::operator<<(), owner(), pieceIsBlack(), osl::eval::ml::PiecePair::pieceValueDouble(), osl::effect_util::EffectUtil::safeCaptureNotByKing(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::ntesuki::NtesukiMoveGenerator::setOrder(), osl::record::csa::show(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), と osl::effect_util::TestEffectOfMove< P, InterestEmpty, Dir >::testLong().

static bool osl::Piece::isPieceNum ( int  num  )  [inline, static]
bool osl::Piece::isPromoted (  )  const [inline]

promoteした駒かどうかをチェックする

piece.h141 行で定義されています。

参照先 piece.

参照元 osl::search::QuiescenceGenerator< P >::attackWithKnight(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateMobilityBonusBishop(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateMobilityBonusLance(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateMobilityBonusRook(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateSilverPenalty(), osl::eval::ml::SilverFeatures::canRetreat(), osl::effect_action::Promote< Action >::doAction(), osl::effect_action::Promote< Action >::doActionPtype(), 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::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::record::MiniBoard::getState(), 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::state::NumEffectState::isConsistent(), isPromotedNotKingGold(), osl::eval::ml::SilverFork::matchRook(), osl::record::MiniBoardChar50::MiniBoardChar50(), osl::state::NumEffectState::NumEffectState(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::move_generator::promote::EachOnBoard< Action, P, T, noCapture >::operator()(), osl::record::OPPosition::OPPosition(), promoteWithMask(), と osl::search::QuiescenceGenerator< P >::utilizePromoted().

bool osl::Piece::isPromotedNotKingGold (  )  const [inline]
template<Ptype T>
bool osl::Piece::isPtype (  )  const [inline]
static const Piece osl::Piece::makeDirect ( int  value  )  [inline, static]

piece.h30 行で定義されています。

参照先 Piece().

参照元 position().

const osl::Piece osl::Piece::makeKing ( Player  owner,
Position  position 
) [static]

玉を作る

piece.cc27 行で定義されています。

参照先 osl::BLACK, osl::KING, number(), と Piece().

参照元 osl::eval::endgame::AttackDefense::updateKingMove().

int osl::Piece::number (  )  const [inline]

piece.h59 行で定義されています。

参照先 piece.

参照元 osl::effect_util::AdditionalOrShadow::count(), 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::doEffect(), 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::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::effect_util::VirtualPin::findDirection(), osl::effect_util::Pin::findDirection(), osl::eval::See::findEffectPiecesAfterMove(), osl::effect_util::Pin::findLance(), osl::effect_util::Pin::findOffset(), osl::move_action::EscapeFilter< P, OrigAction >::findThreat(), osl::state::NumEffectState::forEachEffectNotBy(), 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::addeffect8::generateLongMove(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiece(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePiecePtype(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generatePtype(), osl::move_generator::addeffect8::generateShortMove(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDirPiece(), osl::state::NumEffectState::hasEffectByPiece(), osl::state::NumEffectState::hasEffectByWithRemove(), osl::state::NumEffectState::hasEffectNotBy(), osl::state::NumEffectState::longEffectOfDirection(), make1(), makeKing(), osl::annotate::Vision3::match(), osl::move_generator::without_effect::LongPieceAction< P, T, Action, isAttackToKing >::operator()(), osl::operator<<(), osl::state::NumEffectState::pinnedDir(), osl::apply_move::ApplyDoUndoCaptureMove< P, state::SimpleState >::prologue(), osl::apply_move::ApplyDoUndoSimpleMove< P, state::SimpleState >::prologue(), osl::state::NumEffectState::recalcPinOpen(), osl::effect_util::EffectUtil::safeCaptureNotByKing(), show(), osl::record::csa::show(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::move_action::EscapeFilter< P, OrigAction >::suitable(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), と osl::eval::ml::NonPawnAttacked::updateEffectChanged().

Piece& osl::Piece::operator+= ( Offset  offset  )  [inline]

piece.h67 行で定義されています。

参照先 osl::Offset::intValue(), と piece.

Player osl::Piece::owner (  )  const [inline]

piece.h186 行で定義されています。

参照先 isPiece(), と piece.

参照元 osl::eval::endgame::AttackDefense::addValue(), osl::search::QuiescenceGenerator< P >::attackGoldWithPawn(), osl::search::QuiescenceGenerator< P >::attackKnightWithPawn(), osl::search::QuiescenceGenerator< P >::attackSilverWithPawn(), osl::search::QuiescenceGenerator< P >::breakThreatmate(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateAttackBonusOne(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateAttackRooks(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateEnterKingBonus(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateGoldPenalty(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateRookRankBonus(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateSilverPenalty(), 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::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::search::QuiescenceSearch2< EvalT >::currentValueWithLastThreat(), osl::effect::NumSimpleEffectTable::doBlockAt(), osl::effect::EffectedNumTable::EffectedNumTable(), osl::move_action::EscapeFilter< P, OrigAction >::EscapeFilter(), 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::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::KingPieceRelativeNoSupport::evalWithUpdate(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::NonPawnAttacked::evalWithUpdateBang(), osl::effect_util::AdditionalEffect::find(), osl::eval::See::findAdditionalPieces(), osl::effect_util::VirtualPin::findDirection(), osl::rating::PatternLongGroup2::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::effect_util::Pin::findOffset(), osl::move_action::EscapeFilter< P, OrigAction >::findThreat(), osl::state::SimpleState::flipHorizontal(), osl::move_generator::Escape< Action >::generate(), osl::move_generator::OpenKingRoad< P >::generateDir(), osl::move_generator::Escape< Action >::generateEscape(), osl::search::BreakThreatmate::generateOpenRoad(), osl::search::BigramKillerMove::getMove(), osl::state::NumEffectState::hasEffectByWithRemove(), osl::state::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::state::SimpleState::isAlmostValidMove(), osl::state::NumEffectState::isAlmostValidMove(), osl::move_classifier::BlockLongEffect< P, T >::isMember(), osl::state::NumEffectState::longEffectOfDirection(), make1(), make2(), osl::rating::LongTarget2::match(), osl::rating::Pattern::match(), osl::rating::AttackKing8::match(), osl::rating::RookDefense::match(), osl::eval::ml::SilverFork::matchGold(), osl::eval::ml::SilverFork::matchRook(), osl::record::MiniBoardChar50::MiniBoardChar50(), osl::eval::MinorPieceBonus::MinorPieceBonus(), osl::state::NumEffectState::NumEffectState(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::effect_util::EffectUtil::FindThreat< EvalT >::operator()(), osl::operator<<(), osl::record::OPiece::OPiece(), osl::record::OPosition::OPosition(), osl::threatmate::RichPredictor::predict(), osl::state::SimpleState::rotate180(), osl::effect_util::EffectUtil::safeCaptureNotByKing(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), osl::ntesuki::NtesukiMoveGenerator::setOrder(), osl::eval::ppair::PiecePairWithStand< Table >::setValues(), show(), osl::record::myshogi::show(), osl::record::csa::show(), osl::search::QuiescenceSearch2< EvalT >::staticValueWithThreat(), osl::eval::See::FindEffectMore::store(), osl::annotate::ThreatmateIfMorePieces::suitable(), osl::eval::ml::OpenMidEndingEval::updateGoldSilverNearKing(), osl::eval::endgame::AttackDefense::updateKingMove(), osl::progress::ml::NewProgress::updatePieceKingRelativeBonus(), osl::eval::endgame::DefenseKing::valueOf(), osl::eval::endgame::AttackKing::valueOf(), と osl::eval::endgame::AttackDefense::valueOf().

bool osl::Piece::pieceIsBlack (  )  const [inline]

pieceであることが分かっている時に,更にBlackかどうかをチェックする.

piece.h182 行で定義されています。

参照先 isPiece(), と piece.

参照元 osl::eval::ml::LanceMobilityAll::eval(), と osl::move_generator::detail::generateOpenOrCapture().

const Position osl::Piece::position (  )  const [inline]

piece.h63 行で定義されています。

参照先 makeDirect(), と piece.

参照元 osl::eval::ml::PiecePairKing::add(), osl::eval::ml::PiecePairKing::addSub(), osl::search::QuiescenceGenerator< P >::advanceBishop(), osl::checkmate::OracleAdjust::attack(), osl::search::QuiescenceGenerator< P >::attackGoldWithPawn(), osl::search::QuiescenceGenerator< P >::attackKnightWithPawn(), osl::search::QuiescenceGenerator< P >::attackMajorPiece(), osl::search::QuiescenceGenerator< P >::attackSilverWithPawn(), osl::search::QuiescenceGenerator< P >::attackWithKnight(), osl::search::QuiescenceGenerator< P >::breakThreatmate(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateAttackRooks(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateGoldPenalty(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateRookRankBonus(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateSilverPenalty(), 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::search::QuiescenceGenerator< P >::capture(), osl::effect_util::AdditionalOrShadow::count(), 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::search::QuiescenceSearch2< EvalT >::currentValueWithLastThreat(), osl::checkmate::FixedDepthSearcher2::defense(), osl::checkmate::FixedDepthSearcher::defense(), osl::checkmate::FixedDepthSearcher2::defenseEstimation(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::effect_action::SimpleMove< Action >::doAction(), osl::effect_action::SimpleBetterToPromote< Action >::doAction(), osl::effect_action::Promote< Action >::doAction(), osl::effect_util::EffectUtil::SafeCapture::doAction(), osl::move_action::CaptureFrom< P, OrigAction >::doAction(), osl::effect_action::BetterToPromote< Action >::doAction(), osl::effect_action::AlwaysMove< Action >::doAction(), osl::effect_action::SimpleMove< Action >::doActionPtype(), osl::effect_action::SimpleBetterToPromote< Action >::doActionPtype(), osl::effect_action::Promote< Action >::doActionPtype(), 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::search::QuiescenceGenerator< P >::escapeAll(), osl::search::QuiescenceGenerator< P >::escapeNormalPiece(), osl::eval::ml::LanceMobilityAll::eval(), osl::eval::ml::RookMobilityAll::eval(), osl::eval::ml::KnightFork::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::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::PinPtypeAll::evalOne(), 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::King25Effect3::evalOne(), osl::eval::ml::King25EmptyPositionNoEffect::evalOne(), osl::eval::ml::PiecePair::evalWithUpdate(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::search::QuiescenceSearch2< EvalT >::examineCapture(), osl::rating::PatternLong2::find(), osl::rating::PatternBlock::find(), osl::effect_util::AdditionalEffect::find(), osl::eval::See::findAdditionalPieces(), osl::effect_util::VirtualPin::findDirection(), osl::effect_util::Pin::findDirection(), osl::eval::See::findEffectPiecesAfterMove(), osl::effect_util::Pin::findPtype(), osl::move_action::EscapeFilter< P, OrigAction >::findThreat(), osl::state::SimpleState::flipHorizontal(), osl::state::NumEffectState::forEachEffectOfPiece(), osl::move_generator::Escape< Action >::generate(), osl::search::BreakThreatmate::generate(), osl::search::QuiescenceSearch2< EvalT >::generateAndExamineTakeBack2(), osl::move_generator::detail::generateBishopLongMove(), osl::move_generator::detail::generateBishopLongMoveNotKing(), osl::move_generator::Escape< Action >::generateBlockingKing(), osl::checkmate::FixedDepthSearcher2::generateBlockingWhenLiberty0(), osl::checkmate::FixedDepthSearcher::generateBlockingWhenLiberty0(), osl::search::AlphaBeta3::generateCapture(), osl::search::AlphaBeta3::generateCaptureAll(), 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::search::MoveGenerator::generateKingEscape(), osl::move_generator::detail::generateKnightDir(), osl::move_generator::addeffect8::generateLongMove(), 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::move_generator::addeffect8::generateShortMove(), osl::search::BigramKillerMove::getMove(), osl::checkmate::ImmediateCheckmate::hasCheckmateMoveDirPiece(), osl::state::NumEffectState::hasEffectDir(), osl::effect_util::Pin::hasEffectWithOffset(), 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::eval::ppair::PiecePairIndex::indexOf(), 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::state::NumEffectState::isConsistent(), osl::effect_util::UnblockableCheck::isMember(), osl::move_classifier::PawnDropCheckmate< P >::isMember(), osl::move_classifier::BlockLongEffect< P, T >::isMember(), isOnBoard(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::checkmate::King8Info::make(), osl::makeCapture(), osl::rating::PinAttack::match(), osl::rating::RookDefense::match(), osl::eval::ml::SilverFork::matchGold(), osl::eval::ml::SilverFork::matchRook(), osl::record::MiniBoardChar50::MiniBoardChar50(), osl::state::NumEffectState::NumEffectState(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::move_generator::promote::EachOnBoard< Action, P, T, noCapture >::operator()(), osl::ntesuki::CaptureHelper< P >::operator()(), osl::effect::AddMaskAction< Liberty, P, T >::operator()(), osl::move_generator::without_effect::LongPieceAction< P, T, Action, isAttackToKing >::operator()(), osl::move_generator::without_effect::ShortPieceAction< P, T, Action >::operator()(), osl::move_generator::without_effect::GoldKingAction< P, T, Action >::operator()(), osl::move_generator::addeffect8::LongPieceAction< P, T, Action >::operator()(), osl::operator<<(), osl::record::OPiece::OPiece(), osl::record::OPosition::OPosition(), osl::eval::ml::PinPtypeAll::pawnAttack(), osl::eval::ml::PiecePair::pieceValueDouble(), osl::state::NumEffectState::pinnedCanMoveTo(), osl::state::NumEffectState::pinnedDir(), osl::search::QuiescenceGenerator< P >::promote(), osl::search::AlphaBeta3::quiesce(), osl::search::AlphaBeta3::quiesceRoot(), osl::state::SimpleState::rotate180(), osl::search::QuiescenceSearch2< EvalT >::searchMain(), show(), osl::record::myshogi::show(), osl::record::ki2::show(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::search::QuiescenceSearch2< EvalT >::staticValueWithThreat(), osl::effect_action::StorePtypeOPosition::store(), osl::eval::See::FindEffectMore::store(), osl::eval::ml::PiecePairKing::sub(), osl::move_action::EscapeFilter< P, OrigAction >::suitable(), osl::annotate::ThreatmateIfMorePieces::suitable(), osl::search::QuiescenceSearch2< EvalT >::takeBackValue(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), osl::eval::ml::OpenMidEndingEval::updateGoldSilverNearKing(), osl::search::QuiescenceGenerator< P >::utilizePromoted(), osl::eval::ml::PiecePair::value(), osl::eval::ml::PiecePair::valueCompiled(), osl::eval::endgame::DefenseKing::valueOf(), osl::eval::endgame::AttackKing::valueOf(), と osl::eval::endgame::AttackDefense::valueOf().

const Piece osl::Piece::promote (  )  const [inline]

piece.h108 行で定義されています。

参照先 osl::canPromote(), piece, Piece(), と ptype().

const Piece osl::Piece::promoteWithMask ( int  promote_mask  )  const [inline]
Ptype osl::Piece::ptype (  )  const [inline]

piece.h52 行で定義されています。

参照先 BitOffsetPtype, と piece.

参照元 osl::eval::ml::PiecePairKing::add(), osl::eval::ml::PiecePairKing::addSub(), osl::eval::endgame::AttackDefense::addValue(), osl::search::QuiescenceGenerator< P >::advanceBishop(), osl::checkmate::OracleAdjust::attack(), osl::search::QuiescenceGenerator< P >::attackGoldWithPawn(), osl::search::QuiescenceGenerator< P >::attackKnightWithPawn(), osl::search::QuiescenceGenerator< P >::attackMajorPiece(), osl::search::QuiescenceGenerator< P >::attackSilverWithPawn(), osl::search::QuiescenceGenerator< P >::attackWithKnight(), osl::eval::ProgressEvalGeneral< OpeningEval >::calculateRookRankBonus(), osl::search::QuiescenceGenerator< P >::capture(), 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::effect_action::SimpleMove< Action >::doAction(), osl::effect_action::SimpleBetterToPromote< Action >::doAction(), osl::effect_action::Promote< Action >::doAction(), osl::effect_util::EffectUtil::SafeCapture::doAction(), osl::effect_action::BetterToPromote< Action >::doAction(), osl::effect_action::AlwaysMove< Action >::doAction(), osl::effect_action::SimpleMove< Action >::doActionPtype(), osl::effect_action::SimpleBetterToPromote< Action >::doActionPtype(), osl::effect_action::BetterToPromote< Action >::doActionPtype(), osl::effect_action::AlwaysMove< Action >::doActionPtype(), osl::effect::NumSimpleEffectTable::doBlockAt(), osl::state::NumEffectState::doCaptureMove(), osl::apply_move::ApplyDoUndoCaptureMove< P, NumEffectState >::doUndoCaptureMove(), osl::effect::EffectedNumTable::EffectedNumTable(), osl::search::QuiescenceGenerator< P >::escapeAll(), osl::move_action::EscapeFilter< P, OrigAction >::EscapeFilter(), osl::search::QuiescenceGenerator< P >::escapeNormalPiece(), osl::eval::ml::Pin::eval(), osl::eval::ml::SimplePin::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::PinPtypeAll::evalOne(), osl::eval::ml::KnightFork::evalOne(), osl::eval::ml::BishopRookFork::evalOne(), osl::eval::ml::PtypeYPawnY::evalWithUpdateBang(), osl::eval::ml::NonPawnAttackedPtype::evalWithUpdateBang(), osl::eval::ml::PawnAdvanceAll::evalWithUpdateBang(), osl::eval::endgame::AttackDefense::expect(), osl::rating::PatternBlock::find(), osl::effect_util::VirtualPin::findDirection(), osl::effect_util::Pin::findDirection(), osl::eval::TakeBackValue::findEffectPiecesAfterMove(), osl::rating::PatternLongGroup2::findMatch(), osl::rating::PatternGroup::findMatch(), osl::rating::AttackKing8Group::findMatch(), osl::state::SimpleState::flipHorizontal(), osl::move_generator::PieceOnBoard< Action, noCapturePromote >::generate(), 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::search::BigramKillerMove::getMove(), 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::state::SimpleState::isAlmostValidMove(), osl::state::NumEffectState::isAlmostValidMove(), osl::move_classifier::BlockLongEffect< P, T >::isMember(), isPromotedNotKingGold(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), make1(), make2(), osl::rating::PinAttack::match(), osl::rating::LongTarget2::match(), osl::rating::Pattern::match(), osl::rating::AttackKing8::match(), osl::annotate::ThreatmateIfMorePieces::match(), osl::eval::ml::SilverFork::matchGold(), osl::eval::ml::SilverFork::matchRook(), osl::record::MiniBoardChar50::MiniBoardChar50(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::PieceBasicLessThan::operator()(), osl::effect::AddMaskAction< Liberty, P, T >::operator()(), osl::operator<<(), osl::record::OPiece::OPiece(), osl::apply_move::ApplyDoUndoCaptureMove< P, state::SimpleState >::prologue(), osl::search::QuiescenceGenerator< P >::promote(), promote(), osl::state::SimpleState::rotate180(), osl::effect_util::EffectUtil::safeCaptureNotByKing(), osl::ntesuki::NtesukiMoveGenerator::setOrder(), osl::eval::ppair::PiecePairWithStand< Table >::setValues(), show(), osl::record::myshogi::show(), osl::record::ki2::show(), osl::record::csa::show(), osl::checkmate::ImmediateCheckmate::slowHasCheckmateMoveDirPiece(), osl::search::QuiescenceSearch2< EvalT >::staticValueWithThreat(), osl::eval::ml::PiecePairKing::sub(), osl::move_action::EscapeFilter< P, OrigAction >::suitable(), osl::move_action::ToAroundKing8Filter< P, OrigAction >::unknownMove(), osl::move_action::ToAroundKing24Filter< P, OrigAction >::unknownMove(), osl::move_action::Store::unknownMove(), osl::move_action::NotKingOpenFilter< P, OrigAction >::unknownMove(), osl::move_action::NoEffectFilter< P, OrigAction >::unknownMove(), osl::move_action::NoAddEffectFilter< OrigAction >::unknownMove(), osl::move_action::unknownMove(), osl::eval::ml::NonPawnAttackedPtype::updateChanged(), osl::eval::endgame::AttackDefense::updateKingMove(), osl::progress::ml::NewProgress::updatePieceKingRelativeBonus(), osl::search::QuiescenceGenerator< P >::utilizePromoted(), osl::eval::endgame::DefenseKing::valueOf(), と osl::eval::endgame::AttackKing::valueOf().

PtypeO osl::Piece::ptypeO (  )  const [inline]

piece.h55 行で定義されています。

参照先 BitOffsetPtype, と piece.

参照元 osl::checkmate::DualDfpn::OraclePool::addKey(), osl::eval::ml::PiecePair::adjust12One(), osl::search::QuiescenceGenerator< P >::attackMajorPieceFirstSelection(), osl::search::QuiescenceGenerator< P >::attackSilverWithPawn(), osl::search::QuiescenceGenerator< P >::attackToPinned(), osl::move_generator::addeffect8::canAddLongEffect(), osl::eval::ml::PawnAdvanceUtil::cantAdvance(), osl::search::QuiescenceGenerator< P >::check(), osl::search::QuiescenceSearch2< EvalT >::currentValueWithLastThreat(), osl::checkmate::FixedDepthSearcher2::defenseEstimation(), osl::checkmate::FixedDepthSearcher::defenseEstimation(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffAfterCaptureMove(), osl::eval::ppair::PiecePairEvalTableBase< PiecePairPieceTable >::diffAfterSimpleMove(), osl::effect::NumSimpleEffectTable::doEffect(), osl::effect::ApplyDoUndoCaptureMove< P, SignatureEffect< BaseState > >::doUndoCaptureMove(), osl::effect::ApplyDoUndoSimpleMove< P, SignatureEffect< BaseState > >::doUndoSimpleMove(), osl::checkmate::CheckmateIfCapture::effectiveAttackCandidate0(), osl::eval::ml::PieceEval::eval(), osl::eval::endgame::AttackDefense::expect(), osl::effect_util::UnblockableEffect::find(), osl::effect_util::AdditionalEffect::find(), osl::eval::See::findAdditionalPieces(), osl::state::NumEffectState::forEachEffectOfPiece(), osl::move_generator::addeffect8::generateLongDropWithOffset(), osl::hash::HashKey::HashKey(), osl::eval::ml::PiecePair::index(), osl::eval::ml::PtypeYY::index(), osl::eval::ml::King25EffectEachBoth::index(), osl::eval::ppair::PiecePairIndex::indexOf(), osl::state::SimpleState::isAlmostValidMove(), osl::effect_util::UnblockableCheck::isMember(), osl::move_classifier::TrapRook< P >::isMember(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), osl::checkmate::ProofNumberTable::libertyAfterAllMove(), osl::eval::ml::OpenMidEndingEval::OpenMidEndingEval(), osl::PiecePtypeMoreThan::operator()(), osl::effect_util::EffectUtil::FindThreat< EvalT >::operator()(), osl::state::operator==(), osl::eval::ppair::PiecePairWithStand< Table >::PiecePairWithStand(), osl::state::NumEffectState::pinnedCanMoveTo(), osl::record::KanjiPrint::print(), osl::eval::ppair::PiecePairWithStand< Table >::setValues(), osl::record::usi::show(), osl::eval::ppair::PiecePairWithStand< Table >::standBonus(), osl::search::QuiescenceSearch2< EvalT >::staticValue(), osl::effect_action::StorePtypeOPosition::store(), osl::eval::See::FindEffectMore::store(), osl::annotate::ThreatmateIfMorePieces::suitable(), osl::eval::ml::PiecePair::sum12One(), osl::eval::ml::PiecePair::value(), osl::eval::ml::PiecePair::valueCompiled(), osl::eval::endgame::DefenseKing::valueOf(), osl::eval::endgame::AttackKing::valueOf(), と osl::eval::endgame::AttackDefense::valueOf().

void osl::Piece::setPosition ( Position  position  )  [inline]

piece.h72 行で定義されています。

参照先 piece, と osl::Position::uintValue().

const Piece osl::Piece::unpromote (  )  const [inline]

piece.h114 行で定義されています。

参照先 piece, と Piece().


変数

piece.h36 行で定義されています。

参照元 promoteWithMask().

piece.h35 行で定義されています。

参照元 promoteWithMask().

const int osl::Piece::BitOffsetPtype = 16 [static]

piece.h34 行で定義されています。

参照元 isPtype(), osl::Move::newCapture(), ptype(), と ptypeO().

int osl::Piece::piece [private]
const int osl::Piece::SIZE = 40 [static]

このクラスの説明は次のファイルから生成されました:
 全て クラス ネームスペース ファイル 関数 変数 型定義 列挙型 列挙型の値 フレンド マクロ定義
Sun May 16 09:57:48 2010に生成されました。  doxygen 1.6.3