这一节我们实现如何判定棋子输赢。
1. 定义一个二维数组存储棋子,来判断棋子的位置,在WZQ类中新建方法,代码如下;
//尝试用二维数组存储棋子,好处是便利我们判断每个棋子的位置(连续性)
public QZ[,] Convert2Array()
{
QZ[,] a = new QZ[20, 20];
for(int i=0;i<20; i++)
{
for(int j = 0; j < 20; j++)
{
a[i, j] = null;
}
}
foreach (QZ qz in list)
{
int j = qz.x / grid;
int i = qz.y / grid;
a[i, j] = qz;
}
return a;
}
2. 先判定行方向的输赢,在WZQ类中新建Win_Row方法,代码如下;
public bool Win_Row(QZ qz)//qz位置为起点判断行上是否有五个连续棋子
{
QZ[,] a = Convert2Array();//获取二维数组
int col = qz.x / grid;
int ro