#include <graphics.h>
#include <conio.h>
#include <stdio.h>
int a[22][22]={0};
int win(int x,int y) //根据落子在二维数组中的行列坐标,判断是否5连
{ int i,j,k=0,l;
for(l=1,i=x-1;l<=4;i--,l++) //横向判断
{if(x>=0&&a[x][y]==a[i][y]) k++; else break;}
for(l=1,i=x+1;l<=4;i++,l++)
{if(x<=21&&a[x][y]==a[i][y]) k++; else break;}
if(k>=4) return 1;
k=0;
for(l=1,j=y-1;l<=4;j--,l++) //纵向判断
{if(y>=0&&a[x][y]==a[x][j]) k++; else break;}
for(l=1,j=y+1;l<=4;j++,l++)
{if(y<=21&&a[x][y]==a[x][j]) k++; else break;}
if(k>=4) return 1;
k=0;
for(l=1,j=y-1,i=x-1;l<=4;j--,i--,l++) //\向判断
{if(x>=0&&y>=0&&a[x][y]==a[i][j]) k++; else break;}
for(l=1,j=y+1,i=x+1;l<=4;i++,j++,l++)
{if(x<=21&&y<22&&a[x][y]==a[i][j]) k++; else break;}
if(k>=4) return 1;
k=0;
for(l=1,j=y-1,i=x+1;l<=4;j--,i++,l++) // /向判断
{if(x<=21&&y>=0&&a[x][y]==a[i][j]) k++; else break;}
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余4页未读,立即下载