电脑围棋程序编写思路 荷蒲 wq
cn 荷蒲围棋软件的编写思路
在围棋程序的实现中,较为关键的是围棋电子棋盘的设计
其他所有功能都是围绕围棋电子棋盘展开的
电子围棋盘的核心是围棋棋盘的数据描述
1 、首先定义围棋子信息: #define EDGE 23 //棋盘最大格数 #define MAXMM 500 //最大手数 //color 表示棋子颜色,x,y 表示在棋盘上的坐标 //num 表示下子的顺序
=0 表示提前摆放的子
//zt 表示棋子状态 //qs 表示棋子的气数 //sm 表示有说明信息 typedef struct qizi { int color,x,y,num,zt,qs,sm; } qizi; qizi qipu[MAXMM]; //棋谱信息 qizi qipan[EDGE][EDGE]; //棋盘信息 2 、紧接着要考虑的是下棋相关信息
int nk=0; //显示棋子序号,nk=2 显示序号,1=气数 int BoardLines=19; //棋盘线数,默认 19 bool ComputerPlaying; //1=该计算机下 0=人下 bool Computerp1=0; //1=计算机下黑 0=人下 bool Computerp2=0; //1=计算机下白 0=人下 int PlayType=0; //2=人-人,1=人-计算机,13=人-网络,0=没有开始,-1=删除棋盘上死子,-2=暂停,3=布黑子,4=布白子,9=演示,11=学习 int PlayType1=0; //2=人-人,1=人-计算机,13=人-网络,0=没有开始,-1=删除棋盘上死子,-2=暂停,3=布黑子,4=布白子,11=学习 int MoveCount,MoveCount1; //计步器,记录落子手数,自然顺序 int Playnum=0,Playnu