オセロ作ってみたけど、馬鹿っぽいソースな気がするので添削してください。
関数の引数で自分の置いた場所をx,yに入れています。
上下左右8方向に走査を繰り返します。

int i = board[x][y];//プレイヤーを判断
int cnt,sx,sy,e;
if(i == 1)e=2;//敵を判断
else e=1;

for (cnt = 0,sx = x+1,sy = y;board[sx][sy] == e ;sx++)cnt++; //→方向(x+1)を走査し、敵の数をカウント
if(board[sx][sy] == i)for(sx--;cnt != 0;cnt--,sx--)board[sx][sy] = i;//ひっくり返す