10 for(
int num=32;num<=39;num++){
21 for(;state.
pieceAt(pos).isEmpty();pos+=o) ;
31 for(
int i=0;i<7;i++) os << mc.
get(
static_cast<Direction>(i)) <<
",";
37 os <<
"MobilityTable(\n";
38 for(
int num=32;num<=39;num++){
39 os <<
"num=" << num <<
",[";
42 os <<
" " << mt.
get(d,num);
46 return os <<
")" << std::endl;
51 for(
int num=32;num<=39;num++){
54 if(mt1.
get(d,num)!=mt2.
get(d,num) )
return false;
const Offset getOffsetForBlack(Direction dir) const
黒にとってのoffsetを返す
const Square square() const
static const Piece EDGE()
int getMoveMask(Ptype ptype) const
const Piece pieceOf(int num) const
const Piece pieceAt(Square sq) const
const Square get(Direction d) const
const Square get(Direction d, int num) const
void set(Direction d, int num, Square pos)
std::ostream & operator<<(std::ostream &os, MobilityContent const &mc)
bool operator==(const MobilityTable &, const MobilityTable &)
const PtypeTable Ptype_Table
constexpr int dirToMask(Direction dir)
const BoardTable Board_Table
constexpr Direction shortToLong(Direction d)
引数に longDirを与えてはいけない
constexpr Direction inverse(Direction d)