C语言知识学习五子棋游戏源代码_第1页
C语言知识学习五子棋游戏源代码_第2页
C语言知识学习五子棋游戏源代码_第3页
C语言知识学习五子棋游戏源代码_第4页
C语言知识学习五子棋游戏源代码_第5页
已阅读5页,还剩33页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include<stdio.h> #define N 10 void welcome();void initqipan();void showqi(int i);void save(int p);void panduan(int p);void heqi();void over();int zouqihang();int zouqilie();/*结构体 */struct zuobiaoint xN*N;int yN*N;weizhiN*N;/*主函数 */void main()int p=0;welcome();initqipan();for(p=1;p<=N*N;p+)

2、weizhip.xp=zouqihang();weizhip.yp=zouqilie();save(p);showqi(p);panduan(p);if(p=N*N)heqi();over();/* 建立棋盘 */ void initqipan()int i,j;for(i=0;i<N;i+)printf(" ");printf("n");for(i=1;i<N;i+)for(j=0;j<N;j+)if(j=0)printf("%d",i);elseprintf(”");printf("n&quo

3、t;);/* 显示棋子 */ void showqi(int p)int i,j,k,m;int aN*N,bN*N;FILE *fp;fp=fopen("wuzi_list","rb");for(i=1;i<=N*N;i+)fread(&weizhii,sizeof(struct zuobiao),1,fp);ai=weizhii.xi;bi=weizhii.yi;for(m=1;m<p;m+)while(weizhip.xp=am&&weizhip.yp=bm)printf("error!n")

4、;weizhip.xp=zouqihang();weizhip.yp=zouqilie();m=1;for(i=0;i<N;i+)printf("%d",i);printf(" ");for(i=1;i<N;i+)printf("n");for(j=1;j<N;j+)if(j=1) printf("%d",i);for(k=1;k<=p;k+)if(i=weizhik.xk&&j=weizhik.yk)if(k%2=1) printf(” O');break; els

5、e if(k%2=0) printf(" ");break;if(k>p)printf(" else continue;printf("n");/* 走棋行 */ int zouqihang()int x;printf(" 请输入要走棋子所在行数 !n");printf("x=");scanf("%d",&x);while(x>N-1|x<1)printf("error!n");printf(" 请输入要走棋子所在行数 !n&qu

6、ot;);printf("x=");scanf("%d",&x);return x;/* 走棋列 */ int zouqilie()int y;printf("y=");scanf("%d",&y);while(y>N-1|y<1)printf("error!n");printf(" 请输入要走棋子所在列数 !n");printf("y=");scanf("%d",&y);return y;/* 文件

7、保存 */ void save(int i)FILE *fp;fp=fopen("wuzi_list","wb");fwrite(&weizhii,sizeof(struct zuobiao),1,fp);/*判断输赢 */void panduan(int p)int i,j,k8=1,1,1,1,1,1,1,1,;int aN*N,bN*N;FILE *fp;fp=fopen("wuzi_list","rb");for(i=1;i<=p;i+)fread(&weizhii,sizeof(st

8、ruct zuobiao),1,fp);ai=weizhii.xi;bi=weizhii.yi;/*判断行 */for(i=1;i<=p;i+)if(i%2=1)for(j=1;j<=p;j=j+2)if(ai=a j)&&(bi=bj-1)k0+;continue;else if(ai=aj)&&(bi=bj-2)k0+;else if(ai=aj)&&(bi=bj-3)k0+;continue;else if(ai=aj)&&(bi=bj-4)k0+;continue;else if(k0=5)printf(&qu

9、ot;Player 1 wins!n");elsecontinue;if(k0=5)break;k0=1;else if(k0=5)break;else if(i%2=0)for(j=2;j<=p;j=j+2)if(ai=a j)&&(bi=bj-1)k1+;continue;else if(ai=aj)&&(bi=bj-2)k1+;continue;else if(ai=a j)&&(bi=bj-3)k1+;continue;else if(ai=aj)&&(bi=bj-4)k1+;continue;else i

10、f(k1=5)printf("Player 2 wins!n");elsecontinue;if(k1=5)break;k1=1;/*判断列 */ for(i=1;i<=p;i+)if(k0=5|k1=5)break;else if(i%2=1)for(j=1;j<=p;j=j+2)if(ai=a j-1)&&(bi=bj)k2+;continue;else if(ai=aj-2)&&(bi=bj)k2+;continue;else if(ai=aj-3)&&(bi=bj)k2+;continue;else if(

11、ai=aj-4)&&(bi=bj)k2+;continue;else if(k2=5)printf("Player 1 wins!n");elsecontinue;if(k2=5)break;k2=1;else if(k2=5)break;else if(i%2=0)for(j=2;j<=p;j=j+2)if(ai=a j-1)&&(bi=bj)k3+;continue;else if(ai=aj-2)&&(bi=bj)k3+;continue;else if(ai=aj-3)&&(bi=bj)k3+;c

12、ontinue;else if(ai=aj-4)&&(bi=bj)k3+;continue;else if(k3=5)printf("Player 2 wins!n");elsecontinue;(guns 兰 gu 丄 丄 ON)七(+=dHV_n04一* (p.- T阴)<s<宀-nu匸uoo(L-_=qHHmq)sg L-U 币丄二 e)七(2+®dHvr lhd04(lhh2%w s_ek4+;continue;else if(ai=aj-3)&&(bi=bj-3)k4+;continue;else if(ai=

13、aj-4)&&(bi=bj-4)k4+;continue;else if(k4=5)printf("Player 1 wins!n");elsecontinue;if(k4=5)break;else if(k2=5)k4=1;break;else if(i%2=0)for(j=2;j<=p;j=j+2)if(ai=a j-1)&&(bi=bj-1)k5+;continue;else if(ai=aj-2)&&(bi=bj-2)k5+;continue;else if(ai=aj-3)&&(bi=bj-3)

14、k5+;continue;else if(ai=aj-#)&&(bi=bj-4)k5+;continue;else if(k5=5)printf("Player 2 wins!n");elsecontinue;if(k5=5)break;k5=1;/*判断对角(左下 - 右上) */ for(i=1;i<=p;i+)if(k0=5|k1=5|k2=5|k3=5|k4=5|k5=5)else if(i%2=1)break;for(j=1;j<=p;j=j+2)if(ai=a j+1)&&(bi=bj-1)k6+;continue;e

15、lse if(ai=aj+2)&&(bi=bj-2)k6+;continue;else if(ai=aj+3)&&(bi=bj-3)k6+;continue;else if(ai=aj+4)&&(bi=bj-4)k#+;continue;else if(k6=5)printf("Player 1 wins!n");elsecontinue;if(k6=5)break;k6=1;else if(k6=5)break;else if(i%2=0)for(j=2;j<=p;j=j+2)if(ai=a j+1)&&(bi=bj-1)k7+;continue;else if(ai=aj+2)&&(bi=bj-2)k7+;continue;else if(ai=aj+3)&&(bi=bj-3)k7+;continue;else if(ai=aj+4)&&(bi=bj-4)k7+;continue;else if(k7=5)printf("Player 2 wins!n");elsecontinue;if(k7=5)break;k7=1;/*和棋 */void heqi()printf("*n&qu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论