五子棋编程

2025-04-13 19:08:11
推荐回答(2个)
回答1:

// 程序“五子棋第三方版.exe”运行时,把以前下棋的棋谱保存在“棋谱.txt”文件中,
// 然后调用本程序。
// 本程序的作用是:首先读入以前的棋谱,然后调用函数“qxwz()”计算出计算机应该
// 下棋的位置,并保存在c中,然后把应下棋的位置写入文件“当前棋子.txt”
#include
typedef struct
{
char x;
char y;
} QZ;
QZ qzwz(); //取得应下棋位置,返回值为QZ类型,其中的x,y两个成员代表应下棋位置
char qp[19][19]; //用于保存棋盘上每个点的状态,0--空,1--黑棋,2--白棋
void main()
{
FILE *fp;
int tmp1,tmp2,tmp3;
QZ c;
/* 读入当前棋谱 */
if((fp=fopen("棋谱.txt","r"))==NULL)
{
printf("[棋谱.TXT]文件打开失败!\n");
return;
}
while(!feof(fp))
{
tmp1=tmp2=tmp3=-1;
fscanf(fp,"%d%d%d",&tmp1,&tmp2,&tmp3);
if(tmp3!=-1)
{
qp[tmp1][tmp2]=tmp3;
}
}
fclose(fp);
c=qzwz();
if((fp=fopen("当前棋子.txt","w"))==NULL)
{
printf("[当前棋子.TXT]文件打开失败!\n");
return;
}
fprintf(fp,"%d,%d,%d",c.x,c.y,2); //将应下棋位置传送到文件中
fclose(fp);
}

QZ qzwz()
{
(把这里面的程序补充完整就好了)

} 这个程序要求是:
1。只适用于人先下,机器后下的情况。有了“五子棋第三方版.exe”来制作下棋界面,就只需要编写下棋算法,而不必考虑其它的问题了。
2.当运行“五子棋第三方版.exe”程序时,该程序接受人下棋位置,然后调用“wzq.exe”程序,由“wzq.exe”程序计算出机器的应对并写入到“当前棋子.txt”文件中(结束),机器的应对结果由“五子棋第三方版.exe”负责读入,并等待人下一步的应对。
3.要做的工作就是,完成“wzq.cpp” 中“qxwz()”函数的设计,使之能返回一个比较好的下棋位置。在设计过程中,可以增加全局变量以保存你认为有必要保存的数据,可以增加其它文件,用来保存你认为下次调用还有必要使用的数据,可以增加其它函数以方便下棋位置的计算过程。总之,所给出的“wzq.cpp”程序只是一个框架,在不影响其功能的情况下,可以随意更改。

回答2:

is not declared in this scope是指没有被声明,你就使用了。