/// <summary>
/// 从当前坐标读取那方胜
/// </summary>
/// <param name="status">White or Black</param>
public bool IsWins(int x,int y,Status status)
{
int chessX,chessY;
int sum = 1;
//往四个方向读取玩家旗子状态
for (int i=0;i<4;i++)
{
chessX = x + dir[i].x;
chessY = y + dir[i].y;
while (chessX < m_ChessSize && chessX >= 0 && chessY < m_ChessSize && chessY >= 0 && m_Chessboard[chessX, chessY] == ((int)status))
{
sum++;
if (sum == 4)
return true;
chessX += dir[i].x;
chessY += dir[i].y;
}
//反向读取
chessX = x - dir[i].x;
chessY = y - dir[i].y;
while (chessX < m_ChessSize && chessX >= 0 && chessY < m_ChessSize && chessY >=0 && m_Chessboard[chessX, chessY] == ((int)status))
{
sum++;
if (sum == 4)
return true;
chessX -= dir[i].x;
chessY -= dir[i].y;
}
//单方向不成立 清空计数器
sum = 1;
}
return false;
}