うふふ肩凝り

2004年05月31日

Move.c

手を打ってから駒を反す関数です。
それに伴ってちょっとした処理もやっています。
元気は出てきたのですが、細かいコメントはもうちょっと先にさせてください。


#include "Othello.h"

extern char SearchList[1024];

short Move( Board *b )
{
char *p;
short i, j, k, pos, c;

i = b->p->move;
c = b->color;
b->color = c * (-1);
k = 0;
if( i < 0 ) return k;
p = SearchList;
pos = 0;
while( *p != End ) {
if( (i == *p) && (j=*((b->dir)+(*p))) ) {
if( ( pos >= 0 && pos < 72 && (j&0x01) ) ||
( pos >= 72 && pos < 144 && (j&0x02) ) ||
( pos >= 144 && pos < 216 && (j&0x04) ) ||
( pos >= 216 && pos < 288 && (j&0x08) ) ||
( pos >= 288 && pos < 357 && (j&0x10) ) ||
( pos >= 357 && pos < 426 && (j&0x20) ) ||
( pos >= 426 && pos < 495 && (j&0x40) ) ||
( pos >= 495 && pos < 565 && (j&0x80) ) ) {
p++;
pos++;
while( *((b->board)+(*p)) != c ) {
*((b->board)+(*p)) = c;
k++;
p++;
pos++;
}
}
}
p++;
pos++;
}
*((b->board) + i) = c;
return k;
}

at 23:19│Comments(1)mixiチェック StaBu 

この記事へのコメント

1. Posted by click through the following website page   2014年06月04日 22:21
electronic hookah 智力遊戯:Move.c

コメントする

名前
 
  絵文字
 
 
うふふ肩凝り