收藏 分享(赏)

五子棋C语言代码.doc

上传人:jw66tk88 文档编号:6102929 上传时间:2019-03-27 格式:DOC 页数:14 大小:231.50KB
下载 相关 举报
五子棋C语言代码.doc_第1页
第1页 / 共14页
五子棋C语言代码.doc_第2页
第2页 / 共14页
五子棋C语言代码.doc_第3页
第3页 / 共14页
五子棋C语言代码.doc_第4页
第4页 / 共14页
五子棋C语言代码.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、C 语言五子棋代码不知道做了多久了,断断续续写了快 2 星期了吧,今天终于下狠心把这个终结了。还是有很多 bug (越界的时候会出错,有时候玩家赢了也没反应)不过实在没耐性改了,写了这么久,也拿出来晾凉了。 。 。pcthink 函数可以自己改写,调整电脑下棋的智商。不过写的很乱,注释没耐性写,估计大家也很难看懂,就娱乐一下,有兴趣的帮忙改下吧。毕竟 bug 太多了;还有就是这个是在 vc 下做的 在 TC 下不行。 。准确的说是用 2 维数组建立一个棋盘,然后存到文件中,在执行操作后记录到文件中,清屏,然后再输出新的棋盘数据整个思路大概就是这样程序代码:/*五子棋游戏*/#include #

2、include #include #include #define N 20/*建立棋盘*/creat(char gNN)FILE *fp;int i,j; fp=fopen (“game.txt“,“w“);for (i=0;it)t=n;x=i;y=j;flag=1;n=0;x2=i;y2=j;if (gx2y2=o|gx2y2=x)while (gx2y2=g+x2y2)n+;if (gx2y2= |gx2y2=1)if (nt)t=n;x=i;y=j;flag=2;n=0;x3=i;y3=j;if (gx3y3=o|gx3y3=x)while (gx3y3=gx3+y3)n+;if (

3、gx3y3= |gx3y3=1)if (nt)t=n;x=i;y=j;flag=3;n=0;x4=i;y4=j;if (gx4y4=x|gx4y4=o)while (gx4y4=g+x4-y4)n+;/ if (y4t)t=n;x=i;y=j;flag=4;n=0;x5=i;y5=j;if (gx5y5=o|gx5y5=x)while (gx5y5=g-x5y5)n+;if (gx5y5= |gx5y5=1)if (nt)t=n;x=i;y=j;flag=5;n=0;x6=i;y6=j;if (gx6y6=o|gx6y6=x)while (gx6y6=gx6-y6)n+;if (gx6y6=

4、|gx6y6=1)if (nt)t=n;x=i;y=j;flag=6;n=0;x7=i;y7=j;if (gx7y7=o|gx7y7=x)while (gx7y7=g-x1-y1)n+;if (gx7y7= |gx7y7=1)if (nt)t=n;x=i;y=j;flag=7;n=0;x8=i;y8=j;if (gx8y8=o|gx8y8=x)while (gx8y8=g-x8+y8)n+;if (gx8y8= |gx8y8=1)if (nt)t=n;x=i;y=j;flag=8;switch (flag) case 1:while (g+x+y!= if (gxy=1)gxy=o;while

5、 (g+x+y!= );gxy=1;else gxy=o;break;case 2:while (g+xy!= if (gxy=1)gxy=o;while (g+xy!= );gxy=1;else gxy=o;break;case 3:while (gx+y!= if (gxy=1)gxy=o;while (gx+y!= );gxy=1;else gxy=o;break;case 4:while (g+x-y!= if (gxy=1)gxy=o;while (g+x-y!= );gxy=1;else gxy=o;break;case 5:while (g-xy!= if (gxy=1)gxy=

6、o;while (g-xy!= );gxy=1;else gxy=o;break;case 6:while (gx-y!= if (gxy=1)gxy=o;while (gx-y!= );gxy=1;else gxy=o;break;case 7:while (g-x-y!= if (gxy=1)gxy=o;while (g-x-y!= );gxy=1;else gxy=o;break;case 8:while (g-x+y!= if (gxy=1)gxy=o;while (g-x+y!= );gxy=1;else gxy=o;break;/*case 1:while (g+x+y!= );g

7、xy=o;break;case 2:while (g+xy!= );gxy=o;break;case 3:while (gx+y!= );gxy=o;break;case 4:while (g+x-y!= );gxy=o;break;case 5:while (g-xy!= );gxy=o;break;case 6:while (gx-y!= );gxy=o;break;case 7:while (g-x-y!= );gxy=o;break;case 8:while (g-x+y!= );gxy=o;break;*/ save (g);renew (g);return ;/判断胜利方和胜利ju

8、dge(char gNN)int i,j,n,t,x,y,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,x7,y7,x8,y8,flag;int f2;getg(g);for (i=0;it)t=n;x=i;y=j;n=0;x2=i;y2=j;if (gx2y2=o|gx2y2=x)while (gx2y2=g+x2y2)n+;if (gx2y2= |gx2y2=1)if (nt)t=n;x=i;y=j;n=0;x3=i;y3=j;if (gx3y3=o|gx3y3=x)while (gx3y3=gx3+y3)n+;if (gx3y3= |gx3y3=1)if (nt

9、)t=n;x=i;y=j;n=0;x4=i;y4=j;if (gx4y4=x|gx4y4=o)while (gx4y4=g+x4-y4)n+;/ if (y4t)t=n;x=i;y=j;n=0;x5=i;y5=j;if (gx5y5=o|gx5y5=x)while (gx5y5=g-x5y5)n+;if (gx5y5= |gx5y5=1)if (nt)t=n;x=i;y=j;n=0;x6=i;y6=j;if (gx6y6=o|gx6y6=x)while (gx6y6=gx6-y6)n+;if (gx6y6= |gx6y6=1)if (nt)t=n;x=i;y=j;n=0;x7=i;y7=j;i

10、f (gx7y7=o|gx7y7=x)while (gx7y7=g-x1-y1)n+;if (gx7y7= |gx7y7=1)if (nt)t=n;x=i;y=j;n=0;x8=i;y8=j;if (gx8y8=o|gx8y8=x)while (gx8y8=g-x8+y8)n+;if (gx8y8= |gx8y8=1)if (nt)t=n;x=i;y=j;if (t=4) break;if (t=4) break;f0=t; f1=flag;return (f);/*移动光标方向选择*/chos(char gNN)int flag;char ch;flag=0;switch (ch=getch

11、()case w:up (g);break;case d:right (g);break;case a:left (g);break;case s:down (g);break;case 13:go (g);flag=1;break;renew (g);return (flag);main()char gNN;int *f;creat (g);print (g);while (1)if (chos(g)=1)pcthink (g);f=judge(g);if (f0=4) if (f1=1)printf (“you lose “);break;if (f1=0)printf (“you win!“);break;getch();return 1;

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 网络科技 > C/C++资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报