最近准备开发一个彩球小游戏,找了一段代码参考了一下.其中fx,fy和cnt数组分别都是什么作用?
int FiveInLine(int x,int y) //x-r y-c
{
int fx[]={0,1,1,1,0,-1,-1,-1};
int fy[]={-1,-1,0,1,1,1,0,-1};
int cnt[8];
int i,j;
memset(cnt,0,sizeof(cnt));
for(i=0;i
{
while(CheckIn(x+fx[i]*(cnt[i]+1),y+fy[i]*(cnt[i]+1)) && matrix[x+fx[i]*(cnt[i]+1)][y+fy[i]*(cnt[i]+1)]==matrix[x][y])
cnt[i]++;
}
for(i=0;i
{
if(cnt[i]+cnt[i+4]+1>=5)
{
line[0].r=x;
line[0].c=y;
for(j=1;j<cnt[i]+1;j++)
{
line[j].r=x+fx[i]*j;
line[j].c=y+fy[i]*j;
}
for(j=cnt[i]+1;j<5;j++)
{
line[j].r=x+fx[i+4]*(j-cnt[i]);
line[j].c=y+fy[i+4]*(j-cnt[i]);
}
BallNum-=5;
return 1;
}
}
return 0;
}