C#五子棋关于斜方向问题求助
横竖方向比较简单
但是斜方向的话 考虑到点击后的越界回归的问题很费解。。。
希望有高人指点一下。。
例如点击处为3.4 判断3.4 斜方向向左右扩散4位的字是不是一个颜色。。
我卡在了 在判断时候 以X来说 就是 -1.0.1.2.3.4.5.6.7 这9个位置。。。但是 -1越界
请指教。。
下面是我的横竖的 不知道能不能做成与斜方向相关的。。
private bool RerctKing(int x,int y,int colors)
{
int p=35;
for (int i = x - p * 4; i <= x + p * 4; i = i + 35)
{
if (i < 20) break;
if (i+p > 516) break;
int index = 1;
int xx = 1;
for (int j = i; j < x+p*5; j = j + 35)
{
if (j < 20) break;
if (j+p >516) break;
if (pp[x, j] == colors && pp[x, j + p] == colors)
{
index++;
if (index == 5)
{
return true;
}
}
else
{
index = 1;
}
if (xx == 6)
{
break;
}
}
}
return false;
}