#include <simpleState.h>
Public 型 | |
typedef SimpleState | simple_board_t |
Ѿ饹 ĤФ˻Ѥ | |
typedef SimpleState | simple_state_t |
typedef SimpleState | effect_state_t |
Public メソッド | |
SimpleState () | |
SimpleState (Handicap h) | |
virtual | ~SimpleState () |
void | init () |
̤ξ֤˽ | |
void | init (Handicap h) |
ϥǥ˱֤˽ | |
const Piece | getPieceOf (int num) const |
void | setPieceOf (int num, Piece p) |
template<Player P> | |
const Piece | getKingPiece () const |
const Piece | getKingPiece (Player P) const |
template<Player P> | |
Position | getKingPosition () const |
Position | getKingPosition (Player player) const |
void | setBoard (Position pos, Piece piece) |
const PieceMask & | standMask (Player p) const |
const PieceMask & | usedMask () const |
bool | isOffBoard (int num) const |
template<Player P> | |
bool | isPawnMaskSet (int x) const |
bool | isPawnMaskSet (Player player, int x) const |
void | setPiece (Player player, Position pos, Ptype ptype) |
void | setPieceAll (Player player) |
const Piece | getPieceAt (Position pos) const |
const Piece | getPieceOnBoard (Position pos) const |
bool | isOnBoard (int num) const |
template<Player P, Ptype T> | |
bool | hasPieceOnStand () const |
bool | hasPieceOnStand (Player player, Ptype ptype) const |
int | countPiecesOnStand (Player pl, Ptype ptype) const |
| |
template<Ptype Type> | |
int | countPiecesOnStand (Player pl) const |
Piece | nextPiece (Position cur, Offset diff) const |
diffˤPiece . | |
void | setTurn (Player player) |
Player | getTurn () const |
void | changeTurn () |
֤ѹ | |
bool | isConsistent (bool showError=true) const |
template<bool showError> | |
bool | isAlmostValidMove (Move move) const |
顼ɽ뤫ɤtemplateѥˤ® | |
bool | isAlmostValidMove (Move move, bool showError=true) const |
ˡ꤫ɤñ˸롥̤˰¸åΤߡ 롼ؤʤǤǽϡisValidMove Ѥ롥 | |
bool | isValidMove (Move move, bool showError=true) const |
ˡ꤫ɤ롥 isValidMoveByRule, isAlmostValidMove ʤ ̤ȴ䲦ɤǤ뤫 ꡤͤɤϸʤ | |
bool | isValidMoveByRule (Move move, bool showError) const |
̰ʳʬȿ§Υå | |
bool | isEmptyBetween (Position from, Position to, Offset offset, bool pieceExistsAtTo=false) const |
bool | isEmptyBetween (Position from, Position to, bool noSpaceAtTo=false) const |
bool | hasEffectFromTo (PtypeO ptypeo, Position attacker, Position target) const |
attackerptypeoζ𤬤Ȳꤷtarget뤫ɤ stateupdateʤdzΤ. | |
bool | hasEffectTo (Piece attackerPiece, Position targetPosition) const |
attackerPiecetargetPositionĤɤ. | |
template<Player P, bool setPieceP> | |
bool | lastMoveIsOpenCheck (Position from, Position kingPosition, Piece &attackPiece) const |
μ꤬꤫ɤȽꤹ. | |
template<Player P> | |
bool | lastMoveIsCheck (Move last_move, Piece &attack_piece) const |
μ꤬꤫ɤ. | |
template<Player P, Ptype T, typename F> | |
void | forEachOnBoard (F &func) const |
T isBasic ǤʤƤư unpromote(T) η̤Ʊ | |
template<Player P, Ptype Type, class Action, Direction Dir> | |
void | forEachEffectOfPieceDir (Position, Action &, Int2Type< false >) const |
template<Player P, Ptype Type, class Action, Direction Dir> | |
void | forEachEffectOfPieceDir (Position piecePosition, Action &action, Int2Type< true >) const |
template<Player P, Ptype Type, class Action, Direction Dir> | |
void | forEachEffectOfPieceDir (Position piecePosition, Action &action) const |
template<Player P, Ptype Type, class Action, Direction Dir> | |
void | forEachEffectOfPieceLongDir (Position, Action &, Int2Type< false >) const |
template<Player P, Ptype Type, class Action, Direction Dir> | |
void | forEachEffectOfPieceLongDir (Position piecePosition, Action &action, Int2Type< true >) const |
template<Player P, Ptype Type, class Action, Direction Dir> | |
void | forEachEffectOfPieceLongDir (Position piecePosition, Action &action) const |
template<Player P, Ptype Type, class Action> | |
void | forEachEffectOfPiece (Position piecePosition, Action &action) const |
piecePositionˤˤä뤹٤Ƥposition (ޤ)ˤĤ action¹Ԥ | |
template<class Action> | |
void | forEachEffectOfPiece (Piece piece, Action &action) const |
pieceˤä뤹٤Ƥposition(ޤˤĤ action¹Ԥ | |
template<Player P, class Action, bool checkDone, class PositionCheck> | |
void | forEachEffectWithCheck (Position pos, Action &action, PositionCheck const &positionCheck) const |
template<Player P, class Action> | |
void | forEachEffect (Position pos, Action &action) const |
template<Player P> | |
const Piece | hasEffectPiece (Position target) const |
const Piece | hasEffectPiece (Player pl, Position target) const |
template<Player P> | |
bool | hasEffectBy (Position pos) const |
bool | hasEffectBy (Player player, Position pos) const |
template<Player P> | |
bool | hasEffectByWithRemove (Position target, Position removed) const |
bool | hasEffectByWithRemove (Player player, Position target, Position removed) const |
template<Player P> | |
bool | hasEffectBy (Position target, Piece &attackerPiece) const |
bool | hasEffectBy (Player pl, Position target, Piece &attackerPiece) const |
template<Player P> | |
bool | hasMultipleEffectBy (Position target) const |
٤ƤɤȤǸƤ | |
bool | hasMultipleEffectBy (Player player, Position target) const |
template<Player P, class Action> | |
void | forEachEffectNotBy (Position pos, Piece p, Action &action) const |
template<Player P> | |
bool | hasEffectNotBy (Piece piece, Position target) const |
bool | hasEffectNotBy (Player player, Piece piece, Position target) const |
template<Player P, class Action> | |
void | forEachEffectPtypeDirection (Position pos, Action &action, Direction dir, Ptype ptype, Int2Type< false > canMove) const |
template<Player P, class Action> | |
void | forEachEffectPtypeDirection (Position pos, Action &action, Direction dir, Ptype ptype, Int2Type< true > canMove) const |
template<Player P, Ptype Type, Direction Dir, class Action> | |
void | forEachEffectPtypeDirection (Position pos, Action &action) const |
template<Player P, Ptype Type, class Action> | |
void | forEachEffectPtype (Position pos, Action &action) const |
template<Direction Dir, Player P> | |
bool | hasEffectDir (Position to) const |
ޥˤDirectionǤĹ뤫ɤ | |
bool | dump () const |
dump: ʬ cerr ɽ롣abort ʤɤ˥ǥХå˻Ȥ | |
void | doSimpleMove (Position from, Position to, int promoteMask) |
void | doDropMove (Position to, Ptype ptype) |
void | doCaptureMove (Position from, Position to, Piece target, int promoteMask) |
const SimpleState | emulateCapture (Piece from, Player new_owner) const |
from ɽ줿Piecenew_ownerλˤ̤. | |
const SimpleState | emulateHandPiece (Player from, Player to, Ptype ptype) const |
from to ptypeλϤ̤. | |
const SimpleState | rotate180 () const |
const SimpleState | flipHorizontal () const |
template<class Action> | |
void | forEachEffectOfPiece (Piece piece, Action &action) const |
template<osl::Player P, osl::Ptype Type, class Action> | |
void | forEachEffectPtype (Position pos, Action &action) const |
template<osl::Player P, class Action, bool checkDone, class PositionCheck> | |
void | forEachEffectWithCheck (Position pos, Action &action, PositionCheck const &positionCheck) const |
template<osl::Player P, osl::Ptype Type, class Action> | |
void | forEachEffectOfPiece (Position piecePosition, Action &action) const |
template<osl::Player P> | |
const osl::Piece | hasEffectPiece (Position target) const |
template<osl::Player P> | |
bool | hasMultipleEffectBy (Position target) const |
template<osl::Player P> | |
bool | hasEffectBy (Position target, Piece &attackerPiece) const |
template<osl::Player P> | |
bool | hasEffectByWithRemove (Position target, Position removed) const |
template<osl::Player P> | |
bool | hasEffectNotBy (Piece piece, Position target) const |
template<bool show_error> | |
bool | isAlmostValidMove (Move move) const |
Static Public 変数 | |
static const bool | hasPawnMask = false |
Protected メソッド | |
PieceMask & | standMask (Player p) |
Protected 変数 | |
PieceMask | used_mask |
CArray< PieceMask, 2 > | stand_mask |
CArray< Piece, Position::SIZE > | board |
CArray< Piece, Piece::SIZE > | pieces |
ƤpieceϿƤ | |
Player | turn |
. | |
Private 型 | |
typedef SimpleState | state_t |
フレンド | |
class | osl::apply_move::ApplyDoUndoSimpleMove< BLACK, SimpleState > |
class | osl::apply_move::ApplyDoUndoSimpleMove< WHITE, SimpleState > |
class | osl::apply_move::ApplyDoUndoCaptureMove< BLACK, SimpleState > |
class | osl::apply_move::ApplyDoUndoCaptureMove< WHITE, SimpleState > |
class | osl::apply_move::ApplyDoUndoDropMove< BLACK, SimpleState > |
class | osl::apply_move::ApplyDoUndoDropMove< WHITE, SimpleState > |
class | osl::apply_move::DoUndoMoveLockSimple< SimpleState > |
class | osl::apply_move::DoUndoMoveLockCapture< SimpleState > |
class | osl::apply_move::DoUndoMoveLockDrop< SimpleState > |
std::ostream & | operator<< (std::ostream &os, const SimpleState &state) |
bool | operator== (const SimpleState &st1, const SimpleState &st2) |
構成 | |
class | NotEmpty |
˵Ȥʤ functor [詳細] |
simpleState.h の 33 行で定義されています。
typedef SimpleState osl::state::SimpleState::state_t [private] |
osl::state::SimpleState::SimpleState | ( | ) | [explicit] |
osl::state::SimpleState::SimpleState | ( | Handicap | h | ) | [explicit] |
virtual osl::state::SimpleState::~SimpleState | ( | ) | [virtual] |
void osl::state::SimpleState::init | ( | ) |
void osl::state::SimpleState::init | ( | Handicap | h | ) |
const Piece osl::state::SimpleState::getPieceOf | ( | int | num | ) | const [inline] |
simpleState.h の 84 行で定義されています。
参照先 pieces.
参照元 flipHorizontal(), forEachEffectPtype(), forEachEffectWithCheck(), forEachOnBoard(), getKingPiece(), isOnBoard(), lastMoveIsCheck(), と rotate180().
void osl::state::SimpleState::setPieceOf | ( | int | num, | |
Piece | p | |||
) | [inline] |
const Piece osl::state::SimpleState::getKingPiece | ( | ) | const [inline] |
Position osl::state::SimpleState::getKingPosition | ( | ) | const [inline] |
simpleState.h の 102 行で定義されています。
PieceMask& osl::state::SimpleState::standMask | ( | Player | p | ) | [inline, protected] |
simpleState.h の 118 行で定義されています。
参照先 osl::playerToIndex(), と stand_mask.
参照元 countPiecesOnStand(), hasPieceOnStand(), と isOffBoard().
const PieceMask& osl::state::SimpleState::standMask | ( | Player | p | ) | const [inline] |
const PieceMask& osl::state::SimpleState::usedMask | ( | ) | const [inline] |
bool osl::state::SimpleState::isOffBoard | ( | int | num | ) | const [inline] |
bool osl::state::SimpleState::isPawnMaskSet | ( | int | x | ) | const [inline] |
osl::state::PawnMaskStateで再定義されています。
simpleState.h の 132 行で定義されています。
参照先 osl::BLACK, getPieceAt(), osl::newPtypeO(), osl::PAWN, と osl::Piece::ptypeOMask().
参照元 isAlmostValidMove().
bool osl::state::SimpleState::isPawnMaskSet | ( | Player | player, | |
int | x | |||
) | const |
void osl::state::SimpleState::setPieceAll | ( | Player | player | ) |
osl::state::PawnMaskStateで再定義されています。
pos | isOnboard Position 12˵(8˵+Ϥ) ! isOnBoard(pos) ξ PIECE_EDGE ֤ |
simpleState.h の 160 行で定義されています。
参照先 board, と osl::Position::index().
参照元 forEachEffectOfPieceDir(), forEachEffectOfPieceLongDir(), forEachEffectPtype(), forEachEffectPtypeDirection(), forEachEffectWithCheck(), getPieceOnBoard(), hasEffectDir(), osl::apply_move::DoUndoMoveLock::init(), isAlmostValidMove(), isEmptyBetween(), isPawnMaskSet(), lastMoveIsCheck(), lastMoveIsOpenCheck(), nextPiece(), と osl::state::operator==().
simpleState.h の 161 行で定義されています。
参照先 getPieceAt(), と osl::Position::isOnBoard().
参照元 osl::state::operator<<(), osl::state::operator==(), と osl::record::KanjiPrint::print().
bool osl::state::SimpleState::isOnBoard | ( | int | num | ) | const [inline] |
bool osl::state::SimpleState::hasPieceOnStand | ( | ) | const [inline] |
int osl::state::SimpleState::countPiecesOnStand | ( | Player | pl | ) | const [inline] |
diffˤPiece .
simpleState.h の 206 行で定義されています。
参照先 osl::Piece::EMPTY(), getPieceAt(), と osl::Offset::zero().
void osl::state::SimpleState::setTurn | ( | Player | player | ) | [inline] |
Player osl::state::SimpleState::getTurn | ( | ) | const [inline] |
void osl::state::SimpleState::changeTurn | ( | ) | [inline] |
֤ѹ
simpleState.h の 224 行で定義されています。
参照先 osl::changeTurn(), と turn.
参照元 osl::apply_move::DoUndoMoveLock::init(), と osl::apply_move::DoUndoMoveLock::~DoUndoMoveLock().
bool osl::state::SimpleState::isConsistent | ( | bool | showError = true |
) | const |
bool osl::state::SimpleState::isAlmostValidMove | ( | Move | move | ) | const [inline] |
顼ɽ뤫ɤtemplateѥˤ®
bool osl::state::SimpleState::isAlmostValidMove | ( | Move | move, | |
bool | showError = true | |||
) | const |
ˡ꤫ɤñ˸롥̤˰¸åΤߡ 롼ؤʤǤǽϡisValidMove Ѥ롥
̤˰¸븡Ǥ⡤̤ȴ䲦ɤǤ뤫 ꡤͤɤϸʤ
bool osl::state::SimpleState::isValidMove | ( | Move | move, | |
bool | showError = true | |||
) | const |
ˡ꤫ɤ롥 isValidMoveByRule, isAlmostValidMove ʤ ̤ȴ䲦ɤǤ뤫 ꡤͤɤϸʤ
bool osl::state::SimpleState::isValidMoveByRule | ( | Move | move, | |
bool | showError | |||
) | const |
bool osl::state::SimpleState::isEmptyBetween | ( | Position | from, | |
Position | to, | |||
Offset | offset, | |||
bool | pieceExistsAtTo = false | |||
) | const [inline] |
from | - ޥΰ | |
to | - ޥΰ | |
offset | - fromtoؤshort offset fromtoִطˤȤ ǡ֤å | |
pieceExistsAtTo | - toɬ𤬤 (toǤư) |
simpleState.h の 264 行で定義されています。
参照先 osl::Board_Table, getPieceAt(), osl::BoardTable::getShortOffset(), osl::Piece::isEmpty(), osl::Position::isOnBoard(), と osl::Offset::zero().
参照元 hasEffectFromTo(), isEmptyBetween(), と lastMoveIsOpenCheck().
bool osl::state::SimpleState::isEmptyBetween | ( | Position | from, | |
Position | to, | |||
bool | noSpaceAtTo = false | |||
) | const [inline] |
from | - ޥΰ | |
to | - ޥΰ fromtoִطˤȤ ǡ֤å |
simpleState.h の 283 行で定義されています。
参照先 osl::Board_Table, osl::BoardTable::getShortOffset(), isEmptyBetween(), と osl::Position::isOnBoard().
bool osl::state::SimpleState::hasEffectFromTo | ( | PtypeO | ptypeo, | |
Position | attacker, | |||
Position | target | |||
) | const [inline] |
attackerptypeoζ𤬤Ȳꤷtarget뤫ɤ stateupdateʤdzΤ.
targetPosition϶Ǥɤ ζưƤƤȤϤˡ ʬȤαäʤȸʤ뤳Ȥ
simpleState.h の 296 行で定義されています。
参照先 osl::Board_Table, osl::PtypeTable::getEffect(), osl::BoardTable::getShortOffset(), osl::EffectContent::hasEffect(), osl::EffectContent::hasUnblockableEffect(), isEmptyBetween(), osl::EffectContent::offset(), と osl::Ptype_Table.
参照元 hasEffectTo().
bool osl::state::SimpleState::hasEffectTo | ( | Piece | attackerPiece, | |
Position | targetPosition | |||
) | const [inline] |
attackerPiecetargetPositionĤɤ.
targetPosition϶Ǥɤ
attackerPiece | ||
targetPosition |
simpleState.h の 314 行で定義されています。
参照先 hasEffectFromTo(), osl::Position::isOnBoard(), osl::Piece::isPiece(), osl::Piece::position(), と osl::Piece::ptypeO().
参照元 lastMoveIsCheck().
bool osl::state::SimpleState::lastMoveIsOpenCheck | ( | Position | from, | |
Position | kingPosition, | |||
Piece & | attackPiece | |||
) | const [inline] |
μ꤬꤫ɤȽꤹ.
State(e.g., NumEffectState)ξϡ ñhasEffectByȤɤ.
Ĥζˤ벦ξattckPieceˤζ ʣζˤ벦ξPieceEMPTY() fromoffboardλ̵false֤
P(template) | - ߤμ(ä, movealt(P)) | |
setPiece(template) | - attackPieceͤ뤫ɤ safeMove::isSafeMoveȶͭǤȤ¿ |
simpleState.h の 335 行で定義されています。
参照先 osl::Board_Table, osl::PtypeTable::getEffect(), getPieceAt(), osl::BoardTable::getShortOffset(), osl::hasEffect(), isEmptyBetween(), osl::Piece::isOnBoardByOwner(), osl::Position::isPieceStand(), osl::Ptype_Table, osl::Piece::ptypeO(), と osl::Offset::zero().
bool osl::state::SimpleState::lastMoveIsCheck | ( | Move | last_move, | |
Piece & | attack_piece | |||
) | const [inline] |
μ꤬꤫ɤ.
Ĥζˤ벦ξattck_pieceˤζ ʣζˤ벦ξPieceEMPTY()
P(template) | - ߤμ(ä, movealt(P)) |
simpleState.h の 362 行で定義されています。
参照先 osl::alt(), osl::Piece::EMPTY(), osl::Move::from(), getPieceAt(), getPieceOf(), hasEffectTo(), osl::Move::isNormal(), osl::Move::player(), osl::Piece::position(), と osl::Move::to().
void osl::state::SimpleState::forEachOnBoard | ( | F & | func | ) | const [inline] |
void osl::state::SimpleState::forEachEffectOfPieceDir | ( | Position | , | |
Action & | , | |||
Int2Type< false > | ||||
) | const [inline] |
simpleState.h の 398 行で定義されています。
void osl::state::SimpleState::forEachEffectOfPieceDir | ( | Position | piecePosition, | |
Action & | action, | |||
Int2Type< true > | ||||
) | const [inline] |
void osl::state::SimpleState::forEachEffectOfPieceDir | ( | Position | piecePosition, | |
Action & | action | |||
) | const [inline] |
simpleState.h の 406 行で定義されています。
void osl::state::SimpleState::forEachEffectOfPieceLongDir | ( | Position | , | |
Action & | , | |||
Int2Type< false > | ||||
) | const [inline] |
simpleState.h の 413 行で定義されています。
void osl::state::SimpleState::forEachEffectOfPieceLongDir | ( | Position | piecePosition, | |
Action & | action, | |||
Int2Type< true > | ||||
) | const [inline] |
void osl::state::SimpleState::forEachEffectOfPieceLongDir | ( | Position | piecePosition, | |
Action & | action | |||
) | const [inline] |
simpleState.h の 426 行で定義されています。
void osl::state::SimpleState::forEachEffectOfPiece | ( | Position | piecePosition, | |
Action & | action | |||
) | const [inline] |
piecePositionˤˤä뤹٤Ƥposition (ޤ)ˤĤ action¹Ԥ
void osl::state::SimpleState::forEachEffectOfPiece | ( | Piece | piece, | |
Action & | action | |||
) | const [inline] |
pieceˤä뤹٤Ƥposition(ޤˤĤ action¹Ԥ
void osl::state::SimpleState::forEachEffectWithCheck | ( | Position | pos, | |
Action & | action, | |||
PositionCheck const & | positionCheck | |||
) | const [inline] |
P(template) | - ¦ | |
pos | - оݤΥޥ | |
action | - ¹Ԥ |
void osl::state::SimpleState::forEachEffect | ( | Position | pos, | |
Action & | action | |||
) | const [inline] |
simpleState.h の 452 行で定義されています。
const Piece osl::state::SimpleState::hasEffectPiece | ( | Position | target | ) | const [inline] |
P(template) | - ¦ | |
target | - ĤɸΥޥ |
pl | - ¦ | |
target | - ĤɸΥޥ |
bool osl::state::SimpleState::hasEffectBy | ( | Position | pos | ) | const [inline] |
bool osl::state::SimpleState::hasEffectByWithRemove | ( | Position | target, | |
Position | removed | |||
) | const [inline] |
bool osl::state::SimpleState::hasEffectBy | ( | Position | target, | |
Piece & | attackerPiece | |||
) | const [inline] |
P(template) | - ĤƤ¦Υץ쥤 | |
target | - Ĥ줿 | |
attackerPiece | - multiple attackξPieceEMPTY() ǤʤʤĤƤ֤ |
bool osl::state::SimpleState::hasMultipleEffectBy | ( | Position | target | ) | const [inline] |
٤ƤɤȤǸƤ
void osl::state::SimpleState::forEachEffectNotBy | ( | Position | pos, | |
Piece | p, | |||
Action & | action | |||
) | const [inline] |
simpleState.h の 515 行で定義されています。
bool osl::state::SimpleState::hasEffectNotBy | ( | Piece | piece, | |
Position | target | |||
) | const [inline] |
P(template) | - ¦ | |
piece | - ¦ζ, ζоݳȤ | |
target | - оݤΥޥ |
void osl::state::SimpleState::forEachEffectPtypeDirection | ( | Position | pos, | |
Action & | action, | |||
Direction | dir, | |||
Ptype | ptype, | |||
Int2Type< false > | canMove | |||
) | const [inline] |
simpleState.h の 542 行で定義されています。
void osl::state::SimpleState::forEachEffectPtypeDirection | ( | Position | pos, | |
Action & | action, | |||
Direction | dir, | |||
Ptype | ptype, | |||
Int2Type< true > | canMove | |||
) | const [inline] |
simpleState.h の 545 行で定義されています。
参照先 osl::Board_Table, getPieceAt(), osl::getPtype(), osl::PtypeTable::getShortMoveMask(), osl::Ptype_Table, と osl::unpromote().
void osl::state::SimpleState::forEachEffectPtypeDirection | ( | Position | pos, | |
Action & | action | |||
) | const [inline] |
void osl::state::SimpleState::forEachEffectPtype | ( | Position | pos, | |
Action & | action | |||
) | const [inline] |
bool osl::state::SimpleState::hasEffectDir | ( | Position | to | ) | const [inline] |
ޥˤDirectionǤĹ뤫ɤ
simpleState.h の 566 行で定義されています。
参照先 osl::BOOST_STATIC_ASSERT(), osl::PtypeTable::getMoveMask(), getPieceAt(), osl::Piece::isOnBoardByOwner(), osl::Piece::ptype(), と osl::Ptype_Table.
bool osl::state::SimpleState::dump | ( | ) | const |
dump: ʬ cerr ɽ롣abort ʤɤ˥ǥХå˻Ȥ
osl::state::PawnMaskStateで再定義されています。
osl::state::PawnMaskStateで再定義されています。
void osl::state::SimpleState::doCaptureMove | ( | Position | from, | |
Position | to, | |||
Piece | target, | |||
int | promoteMask | |||
) |
osl::state::PawnMaskStateで再定義されています。
const SimpleState osl::state::SimpleState::emulateCapture | ( | Piece | from, | |
Player | new_owner | |||
) | const |
from ɽ줿Piecenew_ownerλˤ̤.
const SimpleState osl::state::SimpleState::emulateHandPiece | ( | Player | from, | |
Player | to, | |||
Ptype | ptype | |||
) | const |
from to ptypeλϤ̤.
const osl::state::SimpleState osl::state::SimpleState::rotate180 | ( | ) | const |
const osl::state::SimpleState osl::state::SimpleState::flipHorizontal | ( | ) | const |
simpleState.cc の 611 行で定義されています。
参照先 osl::Position::flipHorizontal(), getPieceOf(), getTurn(), osl::Piece::owner(), osl::Piece::position(), osl::Piece::ptype(), setPiece(), と setTurn().
void osl::state::SimpleState::forEachEffectOfPiece | ( | Piece | piece, | |
Action & | action | |||
) | const [inline] |
simpleState.tcc の 27 行で定義されています。
参照先 osl::BISHOP, osl::BLACK, osl::GOLD, osl::KING, osl::KNIGHT, osl::LANCE, NEW_PTYPEO, osl::PAWN, osl::PBISHOP, osl::PKNIGHT, osl::PLANCE, osl::Piece::position(), osl::PPAWN, osl::PROOK, osl::PSILVER, osl::Piece::ptypeO(), osl::ROOK, osl::SILVER, と osl::WHITE.
void osl::state::SimpleState::forEachEffectPtype | ( | Position | pos, | |
Action & | action | |||
) | const [inline] |
simpleState.tcc の 64 行で定義されています。
参照先 osl::BISHOP, osl::PtypeTable::getEffectNotLongU(), osl::PtypeTable::getMoveMask(), getPieceAt(), getPieceOf(), osl::getPtype(), osl::EffectContent::hasEffect(), osl::Piece::isEmpty(), osl::Piece::isOnBoardByOwner(), osl::LANCE, osl::EffectContent::offset(), osl::Piece::position(), osl::Ptype_Table, osl::Piece::ptypeO(), osl::ROOK, と osl::unpromote().
void osl::state::SimpleState::forEachEffectWithCheck | ( | Position | pos, | |
Action & | action, | |||
PositionCheck const & | positionCheck | |||
) | const [inline] |
simpleState.tcc の 151 行で定義されています。
参照先 osl::Board_Table, osl::PtypeTable::getEffectNotLongU(), osl::PtypeTable::getMoveMask(), getPieceAt(), getPieceOf(), osl::getPtype(), osl::PtypeTable::getShortMoveMask(), osl::EffectContent::hasEffect(), osl::Piece::isEmpty(), osl::Piece::isOnBoardByOwner(), osl::EffectContent::offset(), osl::Piece::position(), osl::Ptype_Table, osl::Piece::ptypeO(), osl::SHORT_DIRECTION_MAX, と osl::U.
void osl::state::SimpleState::forEachEffectOfPiece | ( | Position | piecePosition, | |
Action & | action | |||
) | const [inline] |
simpleState.tcc の 226 行で定義されています。
const osl::Piece osl::state::SimpleState::hasEffectPiece | ( | Position | target | ) | const [inline] |
bool osl::state::SimpleState::hasMultipleEffectBy | ( | Position | target | ) | const [inline] |
bool osl::state::SimpleState::isAlmostValidMove | ( | Move | move | ) | const [inline] |
simpleState.cc の 326 行で定義されています。
参照先 osl::Move::capturePtype(), osl::Move::from(), osl::PtypeTable::getEffect(), getPieceAt(), getTurn(), hasPieceOnStand(), osl::EffectContent::hasUnblockableEffect(), osl::Piece::isEmpty(), isPawnMaskSet(), osl::Position::isPieceStand(), osl::Move::isPromote(), osl::Piece::isPromotedNotKingGold(), osl::Move::isValid(), isValidMoveByRule(), osl::EffectContent::offset(), osl::Piece::owner(), osl::PAWN, osl::Move::player(), osl::Piece::ptype(), osl::Move::ptype(), osl::Ptype_Table, osl::Piece::ptypeO(), osl::Move::to(), turn, osl::unpromote(), osl::Position::x(), と osl::Offset::zero().
friend class osl::apply_move::ApplyDoUndoSimpleMove< BLACK, SimpleState > [friend] |
simpleState.h の 65 行で定義されています。
friend class osl::apply_move::ApplyDoUndoSimpleMove< WHITE, SimpleState > [friend] |
simpleState.h の 66 行で定義されています。
friend class osl::apply_move::ApplyDoUndoCaptureMove< BLACK, SimpleState > [friend] |
simpleState.h の 67 行で定義されています。
friend class osl::apply_move::ApplyDoUndoCaptureMove< WHITE, SimpleState > [friend] |
simpleState.h の 68 行で定義されています。
friend class osl::apply_move::ApplyDoUndoDropMove< BLACK, SimpleState > [friend] |
simpleState.h の 69 行で定義されています。
friend class osl::apply_move::ApplyDoUndoDropMove< WHITE, SimpleState > [friend] |
simpleState.h の 70 行で定義されています。
friend class osl::apply_move::DoUndoMoveLockSimple< SimpleState > [friend] |
simpleState.h の 71 行で定義されています。
friend class osl::apply_move::DoUndoMoveLockCapture< SimpleState > [friend] |
simpleState.h の 72 行で定義されています。
friend class osl::apply_move::DoUndoMoveLockDrop< SimpleState > [friend] |
simpleState.h の 73 行で定義されています。
std::ostream& operator<< | ( | std::ostream & | os, | |
const SimpleState & | state | |||
) | [friend] |
bool operator== | ( | const SimpleState & | st1, | |
const SimpleState & | st2 | |||
) | [friend] |
const bool osl::state::SimpleState::hasPawnMask = false [static] |
PieceMask osl::state::SimpleState::used_mask [protected] |
CArray<PieceMask,2> osl::state::SimpleState::stand_mask [protected] |
CArray<Piece,Position::SIZE> osl::state::SimpleState::board [protected] |
CArray<Piece,Piece::SIZE> osl::state::SimpleState::pieces [protected] |
Player osl::state::SimpleState::turn [protected] |
.
ĹŪˤϾä⤷ʤʬɬ
simpleState.h の 63 行で定義されています。
参照元 changeTurn(), getTurn(), isAlmostValidMove(), osl::state::operator==(), と setTurn().