bool CheckLine (POINT p1,POINT p2)
{
int x,y,t;
//如果x軸相同 如果y軸相同 有一點為空 另一點為空
if ((p1.x==p2.x)&&(p1.y==p2.y)&&(chessdata[p1.y][p1.x]==0)&&(chessdata[p2.y][p2.x]==0))
{return turn;}
// 如果p1軸小于0 大于18 或 p2軸小于0 大于18
else if((p1.x<0) || (p1.x>18) || (p1.y<0) || (p1.y>10) || (p2.x<0) || (p2.x>18) || (p2.y<0) || (p2.y>10))
{return false;}
if(p1.x==p2.x) //如果一點與另一點X軸相同
{
if(p1.y>p2.y) //如果一高一低,(如果判斷的棋子到了下方,結果上方有一樣的,就接着從上面的棋子開始判斷)
{t=p1.y;p1.y=p2.y;p2.y=t;} //交換p1和p2的y值
//如果上述未成立,就執行下面
for(y=p1.y;y<=p2.y;y++) //X軸相同就周遊y軸,也就是p1的下方是否有棋子擋道
{
if(chessdata[y][p1.x]!=0){return false;}//如果p1下方有東西,就沒法直連
}
}
if(p1.y==p2.y) //如果p1與p2Y軸相同
{
if(p1.x>p2.x) //如果一前一後,(如果判斷的棋子的後方,結果前方有一樣的,就接着從前方開始判斷)
{t=p1.x;p1.x=p2.x;p2.x=t;}
for(x=p1.x;x<p2.x;x++) //向後周遊x軸,就是判斷p1後方是否有棋子擋道
{
if(chessdata[p1.y][x]!=0){return false;} //如果p1後方有東西就不能直連
}
}
return true; //如果能執行到此步驟,絕對可以直接連接配接了(一條線的)
}