24       int countShort(
PtypeO ptypeO,
int center_dx, 
int center_dy){
 
   44       LongEffect calcLong(
Direction d,
int center_dx, 
int center_dy){
 
   54         assert(dx!=0 || dy!=0);
 
   58           if(dx_min<=dx*i && dx*i <=dx_max &&
 
   59              dy_min<=dy*i && dy*i <=dy_max) 
break;
 
   64           if(!(dx_min<=dx*i && dx*i <=dx_max &&
 
   65                dy_min<=dy*i && dy*i <=dy_max)) 
break;
 
   68         ret.offset=Offset(dx,dy);
 
   69         assert(!ret.offset.zero());
 
   94             ret[index]=calcLong(longD,center_dx,center_dy);
 
   95             if(!ret[index].offset.zero())index++;
 
  103       return os << 
"(" << longEffect.
offset << 
"," << longEffect.
minIndex  
  104                 << 
"," << longEffect.
maxIndex << 
")";
 
  130   for(
int i=0;i<2;i++,pl=
alt(pl)){
 
  133       for(
int dy= -8;dy<=8;dy++)
 
  134         for(
int dx= -8;dx<=8;dx++){
 
  137             countShort(ptypeO,dx,dy);
 
  145   for(
int i=0;i<2;i++,pl=
alt(pl)){
 
  146     for(
int j=0;j<8;j++){
 
  148       for(
int dy= -8;dy<=8;dy++)
 
  149         for(
int dx= -8;dx<=8;dx++){
 
  151           blockEffect[j][o32.
index()]=
 
  160   for(
int i=0;i<2;i++,pl=
alt(pl)){
 
  163       for(
int dy= -8;dy<=8;dy++)
 
  164         for(
int dx= -8;dx<=8;dx++){
 
  167             calcLong4(ptypeO,dx,dy);
 
  177   for(
int x=1;x<=9;x++)
 
  178     for(
int y=1;y<=9;y++){
 
  181       for(
int dx=0;dx<5;dx++){
 
  182         for(
int dy=0;dy<3;dy++){
 
  183           const Square p(center.
x()+dx-2,center.
y()+dy-1);
 
  184           int val=16-std::abs(p.x()-king.
x());
 
  185           attackEffect[
BLACK][king.
index()][dx*3+dy]=val;
 
  189   for(
int x=1;x<=9;x++)
 
  190     for(
int y=1;y<=9;y++){
 
  193       for(
int dx=0;dx<5;dx++){
 
  194         for(
int dy=0;dy<3;dy++){
 
  195           int r_dx=4-dx,r_dy=2-dy;
 
  197             attackEffect[
BLACK][r_king.
index()][r_dx*3+r_dy];
 
  206   for(
int x=1;x<=9;x++)
 
  207     for(
int y=1;y<=9;y++){
 
  210       for(
int dx=0;dx<5;dx++){
 
  211         for(
int dy=0;dy<3;dy++){
 
  212           const Square p(center.
x()+dx-2,center.
y()+dy-1);
 
  213           int val=16-std::abs(p.x()-king.
x());
 
  214           defenseEffect[
WHITE][king.
index()][dx*3+dy]=val;
 
  218   for(
int x=1;x<=9;x++)
 
  219     for(
int y=1;y<=9;y++){
 
  222       for(
int dx=0;dx<5;dx++){
 
  223         for(
int dy=0;dy<3;dy++){
 
  224           int r_dx=4-dx,r_dy=2-dy;
 
  226             defenseEffect[
WHITE][r_king.
index()][r_dx*3+r_dy];
 
  239   setupDefenseEffect();