クラス 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
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 を黒番のものに変更する.
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.h15 行で定義されています。


列挙型

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

offset.h18 行で定義されています。


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

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

offset.h29 行で定義されています。

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

offset.h37 行で定義されています。

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

offset.h40 行で定義されています。

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


関数

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

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

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

参照先 blackOffset().

参照元 blackOffset().

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

offset.h78 行で定義されています。

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

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

offset.cc12 行で定義されています。

参照先 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.cc39 行で定義されています。

参照先 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.h46 行で定義されています。

参照先 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.h36 行で定義されています。

参照先 BOARD_HEIGHT.

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

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

参照先 offset.

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

offset.h57 行で定義されています。

参照先 result.

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

offset.h48 行で定義されています。

参照先 offset.

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

offset.h70 行で定義されています。

参照先 offset, と Offset().

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

offset.h62 行で定義されています。

参照先 result.

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

offset.h53 行で定義されています。

参照先 offset.

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

offset.h86 行で定義されています。

参照先 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.h43 行で定義されています。

参照先 Offset(), と OFFSET_ZERO.

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


変数

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

offset.h26 行で定義されています。

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

int osl::Offset::offset [private]

offset.h28 行で定義されています。

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


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