My Project
|
Classes | |
struct | BishopMobility |
盤上の角および馬が動けるマスの数を数える More... | |
class | KingMobility |
struct | LanceMobility |
盤上の香車の動けるマス More... | |
class | MobilityContent |
駒毎に指定の方向の利きを持つ最後のSquare. More... | |
class | MobilityTable |
駒番号からMobilityContentを得る More... | |
struct | RookMobility |
盤上の飛車および竜の動けるマス More... | |
union | V4 |
Typedefs | |
typedef long long v2di | __attribute__((vector_size(16))) |
Functions | |
template<Player P, bool All, bool Safe> | |
void | countMobilityBoth (const NumEffectState &state, Square pos, Offset o, int &countAll, int &countSafe) |
P : 駒pの持ち主 All : countAllを求めるかどうか? Safe : countAllを求めるかどうか? countAll : 利きに関係なく動けるマス countSafe : 相手の利きがない動けるマス 両方を求める | |
void | countMobilityBoth (Player P, const NumEffectState &state, Square pos, Offset o, int &countAll, int &countSafe) |
int | countMobilityAll (Player pl, const NumEffectState &state, Square pos, Offset o) |
利きに関係なく動けるマスの数 | |
int | countMobilitySafe (Player pl, const NumEffectState &state, Square pos, Offset o) |
相手の利きがない動けるマスを求める | |
std::ostream & | operator<< (std::ostream &os, MobilityContent const &mc) |
std::ostream & | operator<< (std::ostream &os, MobilityTable const &mt) |
bool | operator== (const MobilityTable &, const MobilityTable &) |
typedef long long v2di osl::mobility::__attribute__((vector_size(16))) |
Definition at line 22 of file kingMobility.h.
|
inline |
|
inline |
P : 駒pの持ち主 All : countAllを求めるかどうか? Safe : countAllを求めるかどうか? countAll : 利きに関係なく動けるマス countSafe : 相手の利きがない動けるマス 両方を求める
Definition at line 20 of file countMobility.h.
References osl::alt(), osl::Piece::canMoveOn(), osl::NumEffectState::hasEffectAt(), osl::Square::isOnBoard(), osl::SimpleState::pieceAt(), and osl::Offset::zero().
Referenced by osl::mobility::LanceMobility::countBoth(), osl::mobility::RookMobility::countHorizontalBoth(), and osl::mobility::RookMobility::countVerticalBoth().
|
inline |
Definition at line 35 of file countMobility.h.
References osl::BLACK.
|
inline |
相手の利きがない動けるマスを求める
Definition at line 56 of file countMobility.h.
References osl::BLACK.
Referenced by osl::mobility::RookMobility::countHorizontalSafe(), osl::mobility::BishopMobility::countSafe(), osl::mobility::LanceMobility::countSafe(), and osl::mobility::RookMobility::countVerticalSafe().
std::ostream & osl::mobility::operator<< | ( | std::ostream & | os, |
MobilityContent const & | mc | ||
) |
Definition at line 28 of file mobilityTable.cc.
References osl::mobility::MobilityContent::get().
std::ostream & osl::mobility::operator<< | ( | std::ostream & | os, |
MobilityTable const & | mt | ||
) |
Definition at line 35 of file mobilityTable.cc.
References osl::mobility::MobilityTable::get().
bool osl::mobility::operator== | ( | const MobilityTable & | mt1, |
const MobilityTable & | mt2 | ||
) |
Definition at line 49 of file mobilityTable.cc.
References osl::mobility::MobilityTable::get().