C语言五子棋游戏源代码

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

ncl ud e< #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 zuobiao

{

int x[N*N];

int

y[N*N]; }weizhi[N

*N];

主函数**************** */

/******************

void main() {

int p=0;

welcome();

for(p=1;p<=N*N;p++)

{

weizhi[p].x[p]=zouqihang();

weizhi[p].y[p]=zouqilie(); save(p);

showqi(p);

panduan(p);

}

if(p==N*N)

heqi();

over();

}

/****************** 建立棋盘*****************/ void initqipan()

{

int i,j;

for(i=0;i

{

printf("%d",i);

printf(" ");

}

for(i=1;i

{

for(j=0;j

{

if(j==0)

printf("%d",i);

else

prin tf("

•")

;

}

printf("\n");

}

}

显示棋子**************** */ void showqi(int p)

{

int i,j,k,m;

int a[N*N],b[N*N];

FILE *fp;

fp=fopen("wuzi_list","rb");

for(i=1;i<=N*N;i++)

fread(&weizhi[i],sizeof(struct zuobiao),1,fp);

{

a[i]=weizhi[i].x[i];

b[i]=weizhi[i].y[i];

}

for(m=1;m

{

while(weizhi[p].x[p]==a[m]&&weizhi[p].y[p]==b[m]) {

printf("error!\n");

weizhi[p].x[p]=zouqihang();

weizhi[p].y[p]=zouqilie();

m=1;

}

}

for(i=0;i

{

printf("%d",i);

printf(" ");

}

printf("\n");

for(i=1;i

{

for(j=1;j

{

if(j==1)

printf("%d",i);

for(k=1;k<=p;k++)

{

if(i==weizhi[k].x[k]&&j==weizhi[k].y[k])

{

if(k%2==1)

{pr intf(" O ");break;} else if(k%2==0)

{printf(" •");break;} }

}

if(k>p)pri ntf(" •");

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(" 请输入要走棋子所在行数

printf("x=");

scanf("%d",&x);

}

return x;

} int zouqilie()

{

int y;

printf(" 请输入要走棋子所在列数 !\n printf("y="); scanf("%d",&y);

while(y>N-1||y<1) !\n");

走棋列 ****************

printf("error!\n");

printf(" 请输入要走棋子所在列数!\n");

printf("y=");

scanf("%d",&y);

}

return y;

}

文件保存**************** */ void save(int i)

{

FILE *fp; fp=fopen("wuzi_list","wb");

fwrite(&weizhi[i],sizeof(struct zuobiao),1,fp);

}

判断输赢****************** */ void panduan(int p)

{

int i,j,k[8]={1,1,1,1,1,1,1,1,};

int a[N*N],b[N*N];

FILE *fp;

fp=fopen("wuzi_list","rb");

相关文档
最新文档