クラス osl::Offset

座標の差分 [詳細]

#include <offset.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 ()
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)
static const Offset ZERO ()

Static Public 変数

static const int BOARD_HEIGHT = 16

Private メソッド

 Offset (int o)
const Offset blackOffset (Int2Type< BLACK >) const
const Offset blackOffset (Int2Type< WHITE >) const

Private 変数

int offset

説明

座標の差分

offset.h の 15 行で定義されています。


列挙型

anonymous enum
列挙型の値:
OFFSET_MIN 
ONBOARD_OFFSET_MIN 
OFFSET_ZERO 
ONBOARD_OFFSET_MAX 
OFFSET_MAX 
ONBOARD_OFFSET_SIZE 

offset.h の 18 行で定義されています。


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

osl::Offset::Offset ( int  o  )  [inline, explicit, private]

offset.h の 29 行で定義されています。

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

offset.h の 37 行で定義されています。

osl::Offset::Offset (  )  [inline]

offset.h の 40 行で定義されています。

参照元 makeDirect(), operator-(), と ZERO().


関数

template<Player P>
const Offset osl::Offset::blackOffset (  )  const [inline]

Player P からみた offset を黒番のものに変更する.

offset.h の 84 行で定義されています。

参照先 blackOffset().

参照元 blackOffset().

const Offset osl::Offset::blackOffset ( Int2Type< WHITE >   )  const [inline, private]

offset.h の 78 行で定義されています。

const Offset osl::Offset::blackOffset ( Int2Type< BLACK >   )  const [inline, private]
int osl::Offset::dx (  )  const

Offsetから一般に dxは求まらないので, ここでの入力は12近傍のみとする.

offset.cc の 12 行で定義されています。

参照先 index(), OFFSET_INDEX, と ZERO().

参照元 osl::effect::hasShortMove(), osl::effect_util::Neighboring8Effect::Table::init(), osl::effect_util::Neighboring8Direct::Table::init(), と osl::effect_util::SendOffPosition::Table::Table().

int osl::Offset::dy (  )  const

Offsetから一般に dyは求まらないので, ここでの入力は12近傍のみとする.

offset.cc の 39 行で定義されています。

参照先 index(), と OFFSET_INDEX.

参照元 osl::effect::hasShortMove(), osl::effect_util::Neighboring8Effect::Table::init(), osl::effect_util::Neighboring8Direct::Table::init(), と osl::effect_util::SendOffPosition::Table::Table().

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

offset.h の 46 行で定義されています。

参照先 offset, と OFFSET_MIN.

参照元 dx(), dy(), と osl::eval::ml::PiecePair::evalWithUpdate().

int osl::Offset::intValue (  )  const [inline]
static const Offset osl::Offset::makeDirect ( int  value  )  [inline, static]
static int osl::Offset::makeOffset ( int  dx,
int  dy 
) [inline, static]

offset.h の 36 行で定義されています。

参照先 BOARD_HEIGHT.

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

offset.h の 67 行で定義されています。

参照先 offset.

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

offset.h の 57 行で定義されています。

参照先 result.

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

offset.h の 48 行で定義されています。

参照先 offset.

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

offset.h の 70 行で定義されています。

参照先 offset, と Offset().

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

offset.h の 62 行で定義されています。

参照先 result.

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

offset.h の 53 行で定義されています。

参照先 offset.

bool osl::Offset::zero (  )  const [inline]

offset.h の 86 行で定義されています。

参照先 offset, と OFFSET_ZERO.

参照元 osl::checkmate::ProofNumberTable::countLibertyLong(), osl::mobility::countMobilityBoth(), 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::MayPromoteDir< P, T, noCapture, Dir >::generateIfValid(), osl::move_generator::promote::AllPromoteDir< 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::Neighboring8Effect::Table::hasEffect(), osl::effect_util::Neighboring8Direct::Table::hasEffect(), osl::effect_util::Neighboring8Direct::Table::hasEffectOrAdditional(), osl::move_generator::addeffect8::hasShortEffect(), osl::effect::hasShortMove(), osl::checkmate::ImmediateCheckmateTable::ImmediateCheckmateTable(), osl::effect_util::Neighboring8Effect::Table::init(), osl::effect_util::Neighboring8Direct::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::nextPiece(), と osl::rating::PatternLong::nextPieceOrEnd().

static const Offset osl::Offset::ZERO (  )  [inline, static]

offset.h の 43 行で定義されています。

参照先 Offset(), と OFFSET_ZERO.

参照元 dx(), と osl::effect::Liberty8Table::longEffectOf().


変数

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

offset.h の 26 行で定義されています。

参照元 osl::Position::makeNoCheck(), と makeOffset().

int osl::Offset::offset [private]

offset.h の 28 行で定義されています。

参照元 index(), intValue(), operator*(), operator+=(), operator-(), operator-=(), と zero().


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