クラス osl::game_playing::GameState

State と千日手状態などを一元管理. [詳細]

#include <gameState.h>

すべてのメンバ一覧

構成

struct  State

Public 型

enum  MoveType { VALID, PAWN_DROP_FOUL, UNSAFE_KING, OTHER_INVALID }

Public メソッド

 GameState (const SimpleState &initial_state)
 ~GameState ()
MoveType isIllegal (Move m) const
const Sennichite pushMove (Move m, int eval=0)
const Move popMove ()
bool canPopMove () const
const NumEffectState & state () const
const RepetitionCountercounter () const
const container::MoveStackmoveHistory () const
const hash::HashKeyStackhashHistory () const
int moves () const
int chessMoves () const
const SimpleState & getInitialState () const
const boost::shared_ptr
< GameState
clone () const
 GameState のコピーを作る. 現在の局面を初期局面として扱うため, pushMoveしない限りpopMoveはできない.
const vector< int > & evalStack () const
void generateNotLosingMoves (container::MoveVector &normal_or_win_or_draw, container::MoveVector &loss) const

Private メソッド

 GameState (const State &src)

Private 変数

boost::scoped_ptr< Statestack

説明

State と千日手状態などを一元管理.

gameState.h32 行で定義されています。


列挙型

列挙型の値:
VALID 
PAWN_DROP_FOUL 
UNSAFE_KING 
OTHER_INVALID 

gameState.h42 行で定義されています。


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

osl::game_playing::GameState::GameState ( const State src  )  [explicit, private]

gameState.cc41 行で定義されています。

参照元 clone().

osl::game_playing::GameState::GameState ( const SimpleState &  initial_state  )  [explicit]

gameState.cc35 行で定義されています。

osl::game_playing::GameState::~GameState (  ) 

gameState.cc47 行で定義されています。


関数

bool osl::game_playing::GameState::canPopMove (  )  const

gameState.cc126 行で定義されています。

参照先 stack.

参照元 popMove().

int osl::game_playing::GameState::chessMoves (  )  const [inline]

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

参照先 moves().

const boost::shared_ptr< osl::game_playing::GameState > osl::game_playing::GameState::clone (  )  const

GameState のコピーを作る. 現在の局面を初期局面として扱うため, pushMoveしない限りpopMoveはできない.

gameState.cc132 行で定義されています。

参照先 GameState(), result, と stack.

参照元 osl::game_playing::SpeculativeSearchPlayer::selectBestMoveCleanUp(), と osl::game_playing::SpeculativeAllMoves::SearchAllMoves::setUp().

const osl::RepetitionCounter & osl::game_playing::GameState::counter (  )  const

gameState.cc120 行で定義されています。

参照先 stack.

参照元 osl::game_playing::SearchPlayer::setUpTable().

const osl::vector< int > & osl::game_playing::GameState::evalStack (  )  const

gameState.cc145 行で定義されています。

参照先 stack.

void osl::game_playing::GameState::generateNotLosingMoves ( container::MoveVector normal_or_win_or_draw,
container::MoveVector loss 
) const

参照元 run().

const osl::state::SimpleState & osl::game_playing::GameState::getInitialState (  )  const

gameState.cc139 行で定義されています。

参照先 stack.

参照元 osl::game_playing::HistoryToTable::setPV().

const osl::hash::HashKeyStack & osl::game_playing::GameState::hashHistory (  )  const

gameState.cc114 行で定義されています。

参照先 stack.

参照元 osl::game_playing::SpeculativeSearchPlayer::selectBestMove().

osl::game_playing::GameState::MoveType osl::game_playing::GameState::isIllegal ( Move  m  )  const
const osl::MoveStack & osl::game_playing::GameState::moveHistory (  )  const
int osl::game_playing::GameState::moves (  )  const

gameState.cc102 行で定義されています。

参照先 stack.

参照元 chessMoves().

const osl::Move osl::game_playing::GameState::popMove (  ) 

gameState.cc84 行で定義されています。

参照先 canPopMove(), result, と stack.

const osl::Sennichite osl::game_playing::GameState::pushMove ( Move  m,
int  eval = 0 
)

gameState.cc52 行で定義されています。

参照先 result, stack, と state().

参照元 run().

const osl::NumEffectState & osl::game_playing::GameState::state (  )  const

変数

boost::scoped_ptr<State> osl::game_playing::GameState::stack [private]

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