All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Private Member Functions | Private Attributes | List of all members
osl::Offset Class Reference

座標の差分 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
 
Offsetoperator+= (Offset other)
 
Offsetoperator-= (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
 

Detailed Description

座標の差分

Definition at line 16 of file offset.h.

Member Enumeration Documentation

anonymous enum
Enumerator
OFFSET_MIN 
ONBOARD_OFFSET_MIN 
OFFSET_ZERO 
ONBOARD_OFFSET_MAX 
OFFSET_MAX 
ONBOARD_OFFSET_SIZE 

Definition at line 19 of file offset.h.

Constructor & Destructor Documentation

osl::Offset::Offset ( int  o)
inlineexplicitprivate

Definition at line 30 of file offset.h.

osl::Offset::Offset ( int  dx,
int  dy 
)
inline

Definition at line 38 of file offset.h.

osl::Offset::Offset ( Player  player,
Direction  direction 
)

Definition at line 9 of file offset.cc.

References osl::Board_Table, and osl::BoardTable::getOffset().

osl::Offset::Offset ( )
inline

Definition at line 42 of file offset.h.

Referenced by makeDirect(), operator-(), and ZERO().

Member Function Documentation

const Offset osl::Offset::blackOffset ( Int2Type< BLACK ) const
inlineprivate
const Offset osl::Offset::blackOffset ( Int2Type< WHITE ) const
inlineprivate

Definition at line 90 of file offset.h.

template<Player P>
const Offset osl::Offset::blackOffset ( ) const
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().

unsigned int osl::Offset::index ( ) const
inline

Definition at line 58 of file offset.h.

References offset, and OFFSET_MIN.

Referenced by osl::eval::ml::PiecePair::evalWithUpdate().

int osl::Offset::intValue ( ) const
inline
template<Player , Direction >
static Offset osl::Offset::make ( )
static
template<Player P, Direction D>
Offset osl::Offset::make ( )

Definition at line 267 of file directionTraits.h.

static const Offset osl::Offset::makeDirect ( int  value)
inlinestatic
static int osl::Offset::makeOffset ( int  dx,
int  dy 
)
inlinestatic

Definition at line 37 of file offset.h.

References BOARD_HEIGHT, and dy().

const Offset osl::Offset::operator* ( const int  mult) const
inline

Definition at line 79 of file offset.h.

References offset.

const Offset osl::Offset::operator+ ( Offset  other) const
inline

Definition at line 69 of file offset.h.

References result.

Offset& osl::Offset::operator+= ( Offset  other)
inline

Definition at line 60 of file offset.h.

References offset.

const Offset osl::Offset::operator- ( const Offset  other) const
inline

Definition at line 74 of file offset.h.

References result.

const Offset osl::Offset::operator- ( ) const
inline

Definition at line 82 of file offset.h.

References offset, and Offset().

Offset& osl::Offset::operator-= ( Offset  other)
inline

Definition at line 65 of file offset.h.

References offset.

static const Offset osl::Offset::ZERO ( )
inlinestatic

Definition at line 47 of file offset.h.

References Offset(), and OFFSET_ZERO.

Referenced by osl::effect::Liberty8Table::longEffectOf().

bool osl::Offset::zero ( ) const
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().

Member Data Documentation

const int osl::Offset::BOARD_HEIGHT =16
static

Definition at line 27 of file offset.h.

Referenced by osl::Square::makeNoCheck(), and makeOffset().

int osl::Offset::offset
private

Definition at line 29 of file offset.h.

Referenced by index(), intValue(), operator*(), operator+=(), operator-(), operator-=(), and zero().


The documentation for this class was generated from the following files: