BOOL check(CPoint point,int type,int w,int h)//point 是用来标志当前棋子的位置,type 是黑白方 w h棋盘的大小
{
int num=-1;
int i=0,j=0,sta=0;
for(i=point.x,j=point.x;i>=0&&j
sta=0;
if(i>=0&&n_map[point.y][i]==type)
{
++sta;
++num;
--i;
}
if(j
++sta;
++num;
++j;
}
if(sta==0) break;
}
if(num>=5) return true;//横
num=-1;
for(i=point.y,j=point.y;i>=0&&j
sta=0;
if(i>=0&&n_map[i][point.x]==type)
{
++sta;
++num;
--i;
}
if(j
++sta;
++num;
++j;
}
if(sta==0) break;
}
if(num>=5) return true;//竖
num=-1;
for(i=0,j=0;i<5&&j<5;)
{
sta=0;
if((point.y-i)>=0&&(point.x+i)
++sta;
++num;
++i;
}
if((point.y+j)
{
++sta;
++num;
++j;
}
if(sta==0) break;
}
if(num>=5) return true;//撇
num=-1;
for(i=0,j=0;i<5&&j<5;)
{
sta=0;
if((point.y-i)>=0&&(point.x-i)>=0&&n_map[point.y-i][point.x-i]==type)//上
{
++sta;
++num;
++i;
}
if((point.y+j)
++sta;
++num;
++j;
}
if(sta==0) break;
}
if(num>=5) return true;//
return false;
}
//n_map[][]为棋盘 如果值为1 表示为黑方,-1表示白方
如果想源码的话,702477275@qq.com这是我的邮箱。