座標の差分 [詳細]
#include <basic_type.h>
Public 型 | |
enum | { OFFSET_MIN = -0x100, ONBOARD_OFFSET_MIN = -0x88, OFFSET_ZERO = 0, ONBOARD_OFFSET_MAX = 0x88, OFFSET_MAX = 0x100, ONBOARD_OFFSET_SIZE = 0x88*2+1 } |
Public メソッド | |
int | intValue () const |
Offset (int dx, int dy) | |
Offset (Player, Direction) | |
Offset () | |
int | dx () const |
Offsetから一般に dxは求まらないので, ここでの入力は12近傍のみとする. | |
int | dy () const |
Offsetから一般に dyは求まらないので, ここでの入力は12近傍のみとする. | |
unsigned int | index () const |
Offset & | operator+= (Offset other) |
Offset & | operator-= (Offset other) |
const Offset | operator+ (Offset other) const |
const Offset | operator- (const Offset other) const |
const Offset | operator* (const int mult) const |
const Offset | operator- () const |
template<Player P> | |
const Offset | blackOffset () const |
Player P からみた offset を黒番のものに変更する. | |
bool | zero () const |
Static Public メソッド | |
static const Offset | makeDirect (int value) |
static int | makeOffset (int dx, int dy) |
template<Player , Direction > | |
static Offset | make () |
static const Offset | ZERO () |
Static Public 変数 | |
static const int | BOARD_HEIGHT = 16 |
Private メソッド | |
Offset (int o) | |
Private 変数 | |
int | offset |
座標の差分
basic_type.h の 429 行で定義されています。
anonymous enum |
basic_type.h の 432 行で定義されています。
osl::Offset::Offset | ( | int | o | ) | [inline, explicit, private] |
basic_type.h の 443 行で定義されています。
osl::Offset::Offset | ( | int | dx, | |
int | dy | |||
) | [inline] |
basic_type.h の 451 行で定義されています。
basic_type.cc の 110 行で定義されています。
osl::Offset::Offset | ( | ) | [inline] |
basic_type.h の 455 行で定義されています。
参照元 makeDirect(), operator-(), と ZERO().
const Offset osl::Offset::blackOffset | ( | ) | const [inline] |
int osl::Offset::dx | ( | ) | const |
Offsetから一般に dxは求まらないので, ここでの入力は12近傍のみとする.
basic_type.cc の 119 行で定義されています。
参照先 index(), OFFSET_INDEX, と ZERO().
参照元 osl::effect_util::SendOffSquare::Table::init(), と osl::effect_util::Neighboring8Direct::Table::init().
int osl::Offset::dy | ( | ) | const |
Offsetから一般に dyは求まらないので, ここでの入力は12近傍のみとする.
basic_type.cc の 146 行で定義されています。
参照先 index(), と OFFSET_INDEX.
参照元 osl::effect_util::SendOffSquare::Table::init(), と osl::effect_util::Neighboring8Direct::Table::init().
unsigned int osl::Offset::index | ( | ) | const [inline] |
basic_type.h の 471 行で定義されています。
参照先 offset.
参照元 dx(), dy(), と osl::eval::ml::PiecePair::evalWithUpdate().
int osl::Offset::intValue | ( | ) | const [inline] |
basic_type.h の 448 行で定義されています。
参照先 offset.
参照元 osl::EffectContent::DIRECT(), osl::NumEffectState::forEachEffectOfPieceLongDir(), osl::move_generator::piece_on_board::generateLong(), osl::move_generator::piece_on_board::generateShort(), osl::Move::newAddTo(), osl::Piece::operator+=(), osl::operator<(), osl::operator<<(), osl::operator==(), と osl::BoardTable::setDirections().
Offset osl::Offset::make | ( | ) | [static] |
directionTraits.h の 265 行で定義されています。
参照先 offset.
static const Offset osl::Offset::makeDirect | ( | int | value | ) | [inline, static] |
basic_type.h の 447 行で定義されています。
参照先 Offset().
参照元 osl::BoardTable::getShort8(), osl::BoardTable::getShort8OffsetUnsafe(), と osl::EffectContent::offset().
static int osl::Offset::makeOffset | ( | int | dx, | |
int | dy | |||
) | [inline, static] |
basic_type.h の 450 行で定義されています。
参照先 BOARD_HEIGHT.
const Offset osl::Offset::operator* | ( | const int | mult | ) | const [inline] |
basic_type.h の 492 行で定義されています。
参照先 offset.
basic_type.h の 482 行で定義されています。
basic_type.h の 473 行で定義されています。
参照先 offset.
const Offset osl::Offset::operator- | ( | ) | const [inline] |
basic_type.h の 495 行で定義されています。
basic_type.h の 487 行で定義されています。
basic_type.h の 478 行で定義されています。
参照先 offset.
static const Offset osl::Offset::ZERO | ( | ) | [inline, static] |
bool osl::Offset::zero | ( | ) | const [inline] |
basic_type.h の 502 行で定義されています。
参照先 offset.
参照元 osl::checkmate::ProofNumberTable::countLibertyLong(), osl::mobility::countMobilityBoth(), osl::move_probability::CoverFork::defending(), osl::effect::NumSimpleEffectTable::doEffectLong(), osl::effect_util::AdditionalEffect::find(), osl::eval::See::findAdditionalPieces(), osl::effect_util::Neighboring8Direct::Table::findNearest(), osl::move_generator::Escape< Action >::generateBlockingKing(), 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::generateLong(), osl::effect_util::Neighboring8Direct::Table::hasEffect(), osl::effect_util::Neighboring8Direct::Table::hasEffectOrAdditional(), osl::checkmate::ImmediateCheckmateTable::ImmediateCheckmateTable(), osl::effect_util::Neighboring8Direct::Table::init(), osl::SimpleState::isAlmostValidMove(), osl::SimpleState::isEmptyBetween(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), osl::SimpleState::isValidMoveByRule(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::move_probability::PromotionBySacrifice::match(), osl::SimpleState::nextPiece(), と osl::rating::PatternLong::nextPieceOrEnd().
const int osl::Offset::BOARD_HEIGHT = 16 [static] |
basic_type.h の 440 行で定義されています。
参照元 makeOffset(), と osl::Square::nth().
int osl::Offset::offset [private] |
basic_type.h の 442 行で定義されています。
参照元 index(), intValue(), make(), operator*(), operator+=(), operator-(), operator-=(), と zero().