资源描述:
《六子棋棋形所有情况总结.doc》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、棋形所有情况1代表字,0代表空位,abcdefghi代表位置,num1代表1的个数,X?代表棋盘中棋形个数X1六连:111111横向:for(num1=0,i=I,j=J;i<=I+6;i++){if(c[i][j]=1)num1++;}if(num1=6)x1++;纵向:for(num1=0,i=I,j=J;j<=J+6;j++){if(c[i][j]=1)num1++;}if(num1=6)x1++;斜向1:for(num1=0,i=I,j=J;i<=I+6,j<=J+6;i++,j++){if(c[i][j]=1)num1++;}if(n
2、um1=6)x1++;斜向2:for(num1=0,i=I,j=J;i<=I+6,j>=J-6;i++,j--){if(c[i][j]=1)num1++;}if(num1=6)x1++;x2七连:1111111横向:for(num1=0,i=I,j=J;i<=I+7;i++){if(c[i][j]=1)num1++;}if(num1=7)x2++;纵向:for(num1=0,i=I,j=J;j<=J+7;j++){if(c[i][j]=1)num1++;}if(num1=7)x2++;斜向1:for(num1=0,i=I,j=J;i<=I+7,
3、j<=J+7;i++,j++){if(c[i][j]=1)num1++;}if(num1=7)x2++;斜向2:for(num1=0,i=I,j=J;i<=I+7,j>=J-7;i++,j--){if(c[i][j]=1);num1++;}if(num1=7)x2++;x3活五:(在同一直线上的5颗同色棋子,符合“对方必须用两手棋才能挡住”的条件。挡住是指不让另一方形成六连或长连。)共3种情况:0111110横向:if(c[i][j]=0&&c[i][j+1]=1&&c[i][j+2]=1&&c[i][j+3]=1&&c[i][j+4]=1&&
4、c[i][j+5]=1&&c[i][j+6]=0)x3++;纵向:if(c[i][j]=0&&c[i+1][j]=1&&c[i+2][j]=1&&c[i+3][j]=1&&c[i+4][j]=1&&c[i+5][j]=1&&c[i+6][j]=0)x3++;斜向1:if(c[i][j]=0&&c[i+1][j+1]=1&&c[i+2][j+2]=1&&c[i+3][j+3]=1&&c[i+4][j+4]=1&&c[i+5][j+5]=1&&c[i+6][j+6]=0)x3++;斜向2:if(c[i][j]=0&&c[i+1][j-1]=1&&c
5、[i+2][j-2]=1&&c[i+3][j-3]=1&&c[i+4][j-4]=1&&c[i+5][j-5]=1&&c[i+6][j-6]=0)x3++;00111101横向:if(c[i][j]=0&&c[i][j+1]=0&&c[i][j+2]=1&&c[i][j+3]=1&&c[i][j+4]=1&&c[i][j+5]=1&&c[i][j+6]=0&&c[i][j+7]=1)x3++;纵向:if(c[i][j]=0&&c[i+1][j]=0&&c[i+2][j]=1&&c[i+3][j]=1&&c[i+4][j]=1&&c[i+5][j
6、]=1&&c[i+6][j]=0&&c[i+7][j]=1)x3++;斜向1:if(c[i][j]=0&&c[i+1][j+1]=0&&c[i+2][j+2]=1&&c[i+3][j+3]=1&&c[i+4][j+4]=1&&c[i+5][j+5]=1&&c[i+6][j+6]=0&&c[i+7][j+7]=1)x3++;斜向2:if(c[i][j]=0&&c[i+1][j-1]=0&&c[i+2][j-2]=1&&c[i+3][j-3]=1&&c[i+4][j-4]=1&&c[i+5][j-5]=1&&c[i+6][j-6]=0&&c[i+7
7、][j-7]=1)x3++;10111100横向:if(c[i][j]=1&&c[i][j+1]=0&&c[i][j+2]=1&&c[i][j+3]=1&&c[i][j+4]=1&&c[i][j+5]=1&&c[i][j+6]=0&&c[i][j+7]=0)x3++;纵向:if(c[i][j]=1&&c[i+1][j]=0&&c[i+2][j]=1&&c[i+3][j]=1&&c[i+4][j]=1&&c[i+5][j]=1&&c[i+6][j]=0&&c[i+7][j]=0)x3++;斜向1:if(c[i][j]=1&&c[i+1][j+1]
8、=0&&c[i+2][j+2]=1&&c[i+3][j+3]=1&&c[i+4][j+4]=1&&c[i+5][j+5]=1&&c[i+6][j+6]