座標の差分 More...
#include <offset.h>
Public Types | |
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 Member Functions | |
int | intValue () const |
Offset (int dx, int dy) | |
Offset (Player, Direction) | |
Offset () | |
int | dx () const |
Offsetから一般に dxは求まらないので, ここでの入力は12近傍のみとする More... | |
int | dy () const |
Offsetから一般に dyは求まらないので, ここでの入力は12近傍のみとする More... | |
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 を黒番のものに変更する More... | |
bool | zero () const |
template<Player P, Direction D> | |
Offset | make () |
Static Public Member Functions | |
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 Attributes | |
static const int | BOARD_HEIGHT =16 |
Private Member Functions | |
Offset (int o) | |
const Offset | blackOffset (Int2Type< BLACK >) const |
const Offset | blackOffset (Int2Type< WHITE >) const |
Private Attributes | |
int | offset |
anonymous enum |
Definition at line 9 of file offset.cc.
References osl::Board_Table, and osl::BoardTable::getOffset().
|
inline |
Definition at line 42 of file offset.h.
Referenced by makeDirect(), operator-(), and ZERO().
Definition at line 89 of file offset.h.
Referenced by osl::move_generator::addeffect8::generateLongDrop(), osl::move_generator::without_effect::generateLongMove(), osl::move_generator::addeffect8::generateLongMove(), and osl::move_generator::addeffect8::generateShortMove().
|
inline |
Player P からみた offset を黒番のものに変更する
Definition at line 96 of file offset.h.
References blackOffset().
Referenced by blackOffset().
int osl::Offset::dx | ( | ) | const |
Offsetから一般に dxは求まらないので, ここでの入力は12近傍のみとする
Definition at line 18 of file offset.cc.
References OFFSET_INDEX.
Referenced by osl::effect::hasShortMove(), osl::effect_util::Neighboring8Direct::Table::init(), osl::effect_util::Neighboring8Effect::Table::init(), and osl::effect_util::SendOffSquare::Table::Table().
int osl::Offset::dy | ( | ) | const |
Offsetから一般に dyは求まらないので, ここでの入力は12近傍のみとする
Definition at line 45 of file offset.cc.
References OFFSET_INDEX.
Referenced by osl::effect::hasShortMove(), osl::effect_util::Neighboring8Direct::Table::init(), osl::effect_util::Neighboring8Effect::Table::init(), makeOffset(), and osl::effect_util::SendOffSquare::Table::Table().
|
inline |
Definition at line 58 of file offset.h.
References offset, and OFFSET_MIN.
Referenced by osl::eval::ml::PiecePair::evalWithUpdate().
|
inline |
Definition at line 35 of file offset.h.
References offset.
Referenced by osl::EffectContent::DIRECT(), osl::state::NumEffectState::forEachEffectOfPieceLongDir(), osl::move_generator::piece_on_board::generateLong(), osl::move_generator::piece_on_board::generateShort(), osl::Move::newAddTo(), osl::Piece::operator+=(), osl::Square::operator+=(), osl::Square::operator-=(), osl::operator<(), osl::operator<<(), osl::operator==(), osl::BoardTable::setDirections(), and osl::effect::LongEffect8::setOffset().
|
static |
Offset osl::Offset::make | ( | ) |
Definition at line 267 of file directionTraits.h.
|
inlinestatic |
Definition at line 34 of file offset.h.
References Offset().
Referenced by osl::effect::LongEffect8::getOffset(), osl::BoardTable::getShort8(), osl::BoardTable::getShort8OffsetUnsafe(), osl::EffectContent::offset(), and osl::Square::operator-().
|
inlinestatic |
Definition at line 37 of file offset.h.
References BOARD_HEIGHT, and dy().
|
inline |
|
inline |
|
inlinestatic |
Definition at line 47 of file offset.h.
References Offset(), and OFFSET_ZERO.
Referenced by osl::effect::Liberty8Table::longEffectOf().
|
inline |
Definition at line 98 of file offset.h.
References offset, and OFFSET_ZERO.
Referenced by 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::eval::TakeBackValue::findEffectPiecesAfterMove(), osl::effect_util::Neighboring8Direct::Table::findNearest(), osl::effect_util::Pin::findPtype(), osl::search::BreakThreatmate::generate(), osl::move_generator::Escape< Action >::generateBlockingKing(), osl::move_generator::promote::AllPromoteDir< P, T, noCapture, Dir >::generateIfValid(), osl::move_generator::promote::MayPromoteDir< P, T, noCapture, Dir >::generateIfValid(), osl::move_generator::piece_on_board::generateLong(), osl::move_generator::addeffect8::generateLongDrop(), osl::move_generator::without_effect::generateLongMove(), osl::move_generator::addeffect8::generateLongMove(), osl::move_generator::addeffect8::generateShortMove(), osl::effect_util::Neighboring8Direct::Table::hasEffect(), osl::effect_util::Neighboring8Effect::Table::hasEffect(), osl::effect_util::Neighboring8Direct::Table::hasEffectOrAdditional(), osl::move_generator::addeffect8::hasShortEffect(), osl::effect::hasShortMove(), osl::checkmate::ImmediateCheckmateTable::ImmediateCheckmateTable(), osl::effect_util::Neighboring8Direct::Table::init(), osl::effect_util::Neighboring8Effect::Table::init(), osl::state::SimpleState::isAlmostValidMove(), osl::state::SimpleState::isEmptyBetween(), osl::move_generator::without_effect::isEmptyOrAdditional(), osl::move_classifier::KingOpenMove< P >::isMemberMain(), osl::state::SimpleState::isValidMoveByRule(), osl::move_probability::BlockLong::makeLongAttackOne(), osl::move_probability::PromotionBySacrifice::match(), osl::state::SimpleState::nextPiece(), and osl::rating::PatternLong::nextPieceOrEnd().
|
static |
Definition at line 27 of file offset.h.
Referenced by osl::Square::makeNoCheck(), and makeOffset().
|
private |
Definition at line 29 of file offset.h.
Referenced by index(), intValue(), operator*(), operator+=(), operator-(), operator-=(), and zero().