18 if((mask&(1<<l))==0)
continue;
33 for(
int i=0;i<0x100;i++){
39 if((i&(0x1<<j))!=0)
continue;
41 if(canCheckmate(ptype,dir,i))
48 for(
int i=0;i<0x10000;i++){
49 unsigned char ptypeMask=0;
54 if((i&(0x1<<j))==0)
continue;
56 if((i&(0x100<<j))!=0)
continue;
58 if(canCheckmate(ptype,dir,(i>>8)&0xff)){
84 !(dx==-dx1 && dy==-dy1)
98 unsigned int mask=0x1ff;
105 for(
int l=0;l<8;l++){
constexpr int dirToMask(Direction dir)
int getMoveMask(Ptype ptype) const
bool hasEffect() const
短い利きがあるか,間がemptyなら長い利きがある
const Offset getShortOffsetNotKnight(Offset32 offset32) const
Longの利きの可能性のあるoffsetの場合は, 反復に使う offsetを Knight以外のShortの利きのoffsetの場合はそ...
PtypeO newPtypeO(Player player, Ptype ptype)
const PtypeTable Ptype_Table
const EffectContent getEffect(PtypeO ptypeo, Square from, Square to) const
fromにいるptypeoがtoに利きを持つか?
constexpr Direction shortToLong(Direction d)
引数に longDirを与えてはいけない
int getDxForBlack(Direction dir) const
int getDyForBlack(Direction dir) const
const BoardTable Board_Table