1 int GameOver()//判断游戏是否结束 
  2 {
  3     bool over(0);
  4     bool peace(1);
  5     for(i=1;i<=40;i++)
  6     {
  7            cx=1,cy=1;
  8            for(j=1;j<=40;j++)
  9            {
 10                   #ifndef M
 11                   if(a[i][j]=='-'){
 12                                    peace=0;
 13                                    int M(0);
 14                                    }
 15                   #endif
 16                   if(a[i][j]!='-' && a[i][j]==a[i][j-1])
 17                   {
 18                             cx++;
 19                             if(cx>=5)
 20                             {
 21                                     over=1;break;
 22                                     }
 23                             }
 24                   else cx=1;
 25                   if(a[j][i]!='-' && a[j][i]==a[j-1][i])
 26                   {
 27                             cy++;
 28                             if(cy>=5)
 29                             {
 30                                     over=1;break;
 31                                     }
 32                             }
 33                   else cy=1;
 34                   }
 35            if(over)break;
 36            int t_i,t_j;//存储临时值 
 37            if(i<=36)
 38            {
 39                     t_i = i , t_j = 1;
 40                     xx = 1;//左下半 
 41                     while(t_i<=40 && t_j<=40)
 42                     {
 43                             if(a[t_i][t_j]!='-' && a[t_i][t_j]==a[t_i-1][t_j-1])
 44                             {
 45                                     xx++;
 46                                     if(xx>=5)
 47                                     {
 48                                              over=1;break;
 49                                              }
 50                                     }
 51                             else xx=1;
 52                             t_i++,t_j++;
 53                             }
 54                     if(over)break;
 55                     t_i = 1 , t_j = i ;
 56                     xx = 1;//右上半
 57                     while(t_i<=40 && t_j<=40)
 58                     {
 59                             if(a[t_i][t_j]!='-' && a[t_i][t_j]==a[t_i-1][t_j-1])
 60                             {
 61                                     xx++;
 62                                     if(xx>=5)
 63                                     {
 64                                              over=1;break;
 65                                              }
 66                                     }
 67                             else xx=1;
 68                             t_i++,t_j++;
 69                             }
 70                     if(over)break;
 71                     }
 72            if(i>4)
 73            {      //左上半 
 74                   t_i = i,t_j = 1,yy = 1;
 75                   while(t_i>=1 && t_j<=40)
 76                   {
 77                          if(a[t_i][t_j]!='-' && a[t_i][t_j]==a[t_i+1][t_j-1])
 78                          {
 79                                    yy++;
 80                                    if(yy>=5)
 81                                    {
 82                                             over=1;break;
 83                                             }
 84                                    }
 85                          else yy=1;
 86                          t_i--,t_j++;
 87                          }
 88                   if(over)break;
 89                   //右下半 
 90                   t_i=40,t_j=42-i,yy = 1;
 91                   while(t_i>4 && t_j<=40)
 92                   {
 93                          if(a[t_i][t_j]!='-' && a[t_i][t_j]==a[t_i+1][t_j-1])
 94                          {
 95                                    yy++;
 96                                    if(yy>=5)
 97                                    {
 98                                             over=1;break;
 99                                             }
100                                    }
101                          else yy=1;
102                          t_i--,t_j++;
103                          }
104                   }
105            
106            if(i==40 && peace)
107            {
108                     over=1;
109                     cout<<"遗憾?纠结?平局"<<endl;
110                     }
111            if(over)break;
112            }
113     return over;
114     }