五子棋C语言源代码

五子棋C语言源代码

ID:39893127

大小:16.54 KB

页数:11页

时间:2019-07-14

五子棋C语言源代码_第1页
五子棋C语言源代码_第2页
五子棋C语言源代码_第3页
五子棋C语言源代码_第4页
五子棋C语言源代码_第5页
资源描述:

《五子棋C语言源代码》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、五子棋C语言源代码/*turboc2.0下编译通过*/#include#include#include#include#defineN15#defineB7#defineSTOP-10000#defineOK1#defineNO0#defineUP328#defineDOWN336#defineLEFT331#defineRIGHT333/*定义了两个数,n为棋盘的大小。b为背景颜色的数值*/inta[N+1][N+1];intzx,zy;intwrite=1,biaoji=0;structzn{longsum;inty;i

2、ntx;}w[N+1][N+1],max,max1;voidcbar(inti,intx,inty,intr);voidmap(inta[][]);intgetkey();intkey();voidzuobiao(intx,inty,inti);inttu(inta[][],intwrite);intwtu(inta[][],intwrite);intzhineng(inta[][]);intzh5(inty,intx,inta[][]);longzzh5(intb[][],inti);main(){inti,j;intgd

3、river=DETECT;intgmode;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){intk,n;k=wtu(a,write);if(k==STOP)gotoend;map(a);n=zhineng(a);if(n==STOP)gotoend;map(a);}end:;}/*实现对局的程序,计算全部N*N个格中,最应该填的格子*/intzh

4、ineng(inta[N+1][N+1]){inti,j;intk;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{max.sum=w[i][j].sum;max

5、.y=i;max.x=j;}elseif(max.sum==w[i][j].sum){if(((max.y-zy)*(max.y-zy)+(max.x-zx)*(max.x-zx))>((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的数组,计算出在二十五个格子中,最应该填的格*/intzh5(inty

6、,intx,inta[N+1][N+1]){inti,j;intb[6][6];longc[13];longd[6][6];longtemp;for(i=y;i<=y+4;i++)for(j=x;j<=x+4;j++)b[i+1-y][j+1-x]=a[i][j];c[1]=b[1][1]+b[1][2]+b[1][3]+b[1][4]+b[1][5];c[2]=b[2][1]+b[2][2]+b[2][3]+b[2][4]+b[2][5];c[3]=b[3][1]+b[3][2]+b[3][3]+b[3][4]+b[3][

7、5];c[4]=b[4][1]+b[4][2]+b[4][3]+b[4][4]+b[4][5];c[5]=b[5][1]+b[5][2]+b[5][3]+b[5][4]+b[5][5];c[6]=b[1][1]+b[2][1]+b[3][1]+b[4][1]+b[5][1];c[7]=b[1][2]+b[2][2]+b[3][2]+b[4][2]+b[5][2];c[8]=b[1][3]+b[2][3]+b[3][3]+b[4][3]+b[5][3];c[9]=b[1][4]+b[2][4]+b[3][4]+b[4][4]+

8、b[5][4];c[10]=b[1][5]+b[2][5]+b[3][5]+b[4][5]+b[5][5];c[11]=b[1][1]+b[2][2]+b[3][3]+b[4][4]+b[5][5];c[12]=b[1][5]+b[2][4]+b[3][3]+b[4][2]+b[5][1]

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。