云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 六子棋棋形所有情况总结

六子棋棋形所有情况总结

  • 62 次阅读
  • 3 次下载
  • 2026/4/26 0:23:39

棋形所有情况

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(num1=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,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&& 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[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]=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][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]=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]=0)

x3++;

斜向2:if(c[i][j]=1&& 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]=0)

x3++;

X4眠五:(在同一直线上的5颗同色棋子,符合“对方用一手棋

就能挡住”的条件。) 共4种情况:

-1111110

横向:if(c[i][j]=-1&& c[i][j+1]=1&& 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) x4++;

纵向:if(c[i][j]=-1&& 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)

x4++;

斜向1:if(c[i][j]=-1&& 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)

x4++;

斜向2:if(c[i][j]=-1&& 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)

x4++;

011111-1

横向: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&& c[i][j+5]=1&& c[i][j+6]=-1) x4++; 纵向: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]=-1)

x4++;

斜向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]=-)

x4++;

斜向2: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]=-1)

x4++;

a、b中至少有一个为-1且c~h中有5个1、1个0

横向:

if(c[I][J]=-1&&c[I][J+1]=-1|| c[I][J]=-1&&c[I][J+1]=0|| c[I][J]=0&&c[I][J+1]=-1) {

for(i=I,fact2=0,fact3=0,j=J+2;j<=J+7;j++) {if(c[i][j]=1) fact2++;

else if(c[i][j]=0) fact3++; } }

if(fact2=5&&fact3=1) x4++;

g、h中至少有一个为-1且a~f中有5个1、1个0

横向:

if(c[I][J+6]=-1&&c[I][J+7]=-1|| c[I][J+6]=0&&c[I][J+7]=-1) {

for(i=I,fact2=0,fact3=0,j=J;j<=J+5;j++) {if(c[i][j]=1) fact2++;

else if(c[i][j]=0) fact3++; }

c[I][J+6]=-1&&c[I][J+7]=0||

搜索更多关于: 六子棋棋形所有情况总结 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

棋形所有情况 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(num1=6) x1++;

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com