構成 | |
| struct | BishopMobility |
| 盤上の角および馬が動けるマスの数を数える [詳細] | |
| class | KingMobility |
| struct | LanceMobility |
| 盤上の香車の動けるマス [詳細] | |
| union | V4 |
| class | MobilityContent |
| 駒毎に指定の方向の利きを持つ最後のPosition. [詳細] | |
| class | MobilityTable |
| 駒番号からMobilityContentを得る [詳細] | |
| struct | RookMobility |
| 盤上の飛車および竜の動けるマス [詳細] | |
型定義 | |
| typedef long long v2di | __attribute__ ((vector_size(16))) |
関数 | |
| template<Player P, bool All, bool Safe> | |
| void | countMobilityBoth (const NumEffectState &state, Position pos, Offset o, int &countAll, int &countSafe) |
| P : 駒pの持ち主 All : countAllを求めるかどうか? Safe : countAllを求めるかどうか? countAll : 利きに関係なく動けるマス countSafe : 相手の利きがない動けるマス 両方を求める. | |
| void | countMobilityBoth (Player P, const NumEffectState &state, Position pos, Offset o, int &countAll, int &countSafe) |
| int | countMobilityAll (Player pl, const NumEffectState &state, Position pos, Offset o) |
| 利きに関係なく動けるマスの数 | |
| int | countMobilitySafe (Player pl, const NumEffectState &state, Position 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))) |
kingMobility.h の 22 行で定義されています。
| int osl::mobility::countMobilityAll | ( | Player | pl, | |
| const NumEffectState & | state, | |||
| Position | pos, | |||
| Offset | o | |||
| ) | [inline] |
| void osl::mobility::countMobilityBoth | ( | Player | P, | |
| const NumEffectState & | state, | |||
| Position | pos, | |||
| Offset | o, | |||
| int & | countAll, | |||
| int & | countSafe | |||
| ) | [inline] |
countMobility.h の 35 行で定義されています。
参照先 osl::BLACK.
| void osl::mobility::countMobilityBoth | ( | const NumEffectState & | state, | |
| Position | pos, | |||
| Offset | o, | |||
| int & | countAll, | |||
| int & | countSafe | |||
| ) | [inline] |
P : 駒pの持ち主 All : countAllを求めるかどうか? Safe : countAllを求めるかどうか? countAll : 利きに関係なく動けるマス countSafe : 相手の利きがない動けるマス 両方を求める.
countMobility.h の 20 行で定義されています。
参照先 osl::All, osl::Position::isOnBoard(), と osl::Offset::zero().
参照元 osl::mobility::LanceMobility::countBoth(), osl::mobility::RookMobility::countHorizontalBoth(), と osl::mobility::RookMobility::countVerticalBoth().
| int osl::mobility::countMobilitySafe | ( | Player | pl, | |
| const NumEffectState & | state, | |||
| Position | pos, | |||
| Offset | o | |||
| ) | [inline] |
相手の利きがない動けるマスを求める
countMobility.h の 56 行で定義されています。
参照先 osl::BLACK.
参照元 osl::mobility::RookMobility::countHorizontalSafe(), osl::mobility::LanceMobility::countSafe(), osl::mobility::BishopMobility::countSafe(), と osl::mobility::RookMobility::countVerticalSafe().
| std::ostream & osl::mobility::operator<< | ( | std::ostream & | os, | |
| MobilityTable const & | mt | |||
| ) |
mobilityTable.cc の 34 行で定義されています。
| std::ostream & osl::mobility::operator<< | ( | std::ostream & | os, | |
| MobilityContent const & | mc | |||
| ) |
mobilityTable.cc の 27 行で定義されています。
| bool osl::mobility::operator== | ( | const MobilityTable & | mt1, | |
| const MobilityTable & | mt2 | |||
| ) |
mobilityTable.cc の 48 行で定義されています。
1.6.3