电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

C,C++五子棋开源代码

C,C++五子棋开源代码_第1页
1/22
C,C++五子棋开源代码_第2页
2/22
C,C++五子棋开源代码_第3页
3/22
C 语言: /*turboc2.0下编译通过*/ #i nclude #i nclude #i nclude #i nclude #define N 15 #define B 7 #define STOP -10000 #define OK 1 #define NO 0 #define UP 328 #define DOWN 336 #define LEFT 331 #define RIGHT 333 /*定义了两个数,n 为棋盘的大小。b 为背景颜色的数值*/ int a[N+1][N+1]; int zx,zy; int write=1,biaoji=0; struct zn{ long sum; int y; int x; }w[N+1][N+1],max,max1; void cbar(int i,int x,int y,int r); void map(int a[][]); int getkey(); int key(); void zuobiao(int x,int y,int i); int tu(int a[][],int write); int wtu(int a[][],int write); int zhineng(int a[][]); int zh5(int y,int x,int a[][]); long zzh5(int b[][],int i); main() { int i,j; int gdriver=DETECT; int gmode; initgraph(&gdriver,&gmode,""); zx=(N+1)/2; zy=(N+1)/2; for(i=1;i<=N;i++) for(j=1;j<=N;j++) a[i][j]=0; map(a); i=1; while(i) { int k,n; k=wtu(a,write); if(k==STOP) goto end; map(a); n=zhineng(a); if(n==STOP) goto end; map(a); } end: ; } /* 实现对局的程序 ,计算全部N*N 个格中,最应该填的格子 */ int zhineng(int a[N+1][N+1]) { int i,j; int k; max.sum=-1; for(i=0;i<=N;i++) for(j=0;j<+N;j++) { w[i][j].sum=0; w[i][j].x=i; w[i][j].y=j; } for(i=1;i<=N-4;i++) for(j=1;j<=N-4;j++) { k=zh5(i,j,a); if(k==STOP) return (STOP); } for(i=1;i<=N;i++) for(j=1;j<=N;j++) { if(max.sum((i-zy)*(i-zy)+(j-zx)*(j-zx))) max.sum=w[i][j].sum; max.y=i; max.x=j; } } if(a[max.y][max.x]==0) { a[max.y][max.x]=-1; zy=max.y; zx=max.x; } } /* 转换成5*5 的数组,计算出在二十五个格子中,最应该填的格 */ int zh5(int y,int x,int a[N+1][N+1]) { int i,j; int b[6][6]; long c[13]; long d[6][6]; long temp; for(i=y;i<=y+4;i++) for(j=x;j<=x+4;j++) b[i+1-y][j+1-x]=...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

C,C++五子棋开源代码

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部