C忘れたから適当に書いた、これを8方向分やればいけるんでね

function(int x_zahyo, int y_zahyo, int x_houkou, int y_houkou, char color){
change = x_zahyoとy_zahyoを保持できる構造体の配列
while(true){
x_zahyo += x_houkou;
y_zahyo += y_houkou;
if(board[x_zahyo][y_zahyo] == null){
return;
}else if(board[x_zahyo][y_zahyo] != color){
x_zahyoとy_zahyoを構造体に入れてchangeに入れる
continue;
}else{
changeに入れてる分を全てひっくり返す
return;
}
}
}