我的代码有点问题 请大家帮忙看下。
现在我做的是五子棋的判断左斜的。。
思路是 点到一个点 然后判断这个点前面4个点 和后面4个点之间 有没有坐标值相等的。
我的代码如下。。。
怎么判断 都是FALSE 请高手帮忙指点修改一下。
private bool InclinedKing(int x, int y, int colors)
{
int p = 35;
int h = 0, k = 0;
int h1 = 0, k1 = 0;
for (int t = 1; t <= 4; t++)
{
if (x - p * t < 0) break; else h = x - p * t;
if (y - p * t < 0) break; else k = y - p * t;
}
for (int z = 1; z <= 4; z++)
{
if (x + p * z > 516) break; else h1 = x + p * z;
if (y + p * z > 516) break; else k1 = y + p * z;
}
for (int i = 0; i < 9; i++)
{
if (k + p * i > 516) continue;
if (h + p * i > 516) continue;
int index = 1;
for (int j = 1; j < 5; j++)
{
if (k + p * j > 516) continue;
if (h + p * j > 516) continue;
if (h + p * j + p * i > 516) continue;
if (k + p * i + p * j > 516) continue;
//int xxx = h + p * i;
// int xx = k + p * i;
// int xxxx = h + p * j+p*i;
// int x1 = k + p * j+p*i;
if(pp[h+p*i,k+p*i]==colors&&pp[(h+p*i)+j*p,(k+p*i)+j*p]==colors)
{
index++;
if (index == 4)
{
return true;
}
else
{
index = 1;
}
}
}
}
return false;
}