给不了的幸福 谢娜电脑围棋程序编写思路
荷蒲 wq.hepu
荷蒲围棋软件的编写思路。
#define EDGE 23 //棋盘最大格数
#define MAXMM 500 //最大手数
//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,Playnum1=0; //要标识的围棋手数,下棋顺序
int CurrentX; //记录热子X坐标,
int CurrentY; //记录热子Y坐标
char CurrentWho; //记录当前棋子颜,0=黑 1=白 2=空(终局等,待写)
char CurrentWho1; //备份上一次CurrentWho
int timew=0,timeb=0; //计时器设定数据
int sdy1=0,sdy2=0; //学习功能上使用
int gz; //规则0=中国规则,1=江疏影视频曝光日本规则,2=应氏规则
bool plays1=true; //学习持黑
bool plays2=false; //学习持白
3、围棋电子棋盘的数据初始化。
//数据初始化
void wqinit(void) 长沙有什么好玩的
{
BoardLines=19; //19X19路标准围棋盘
MoveCount=0; //一步棋未下,自然顺序
MoveCount1=0; //一步棋未下
ComputerPlaying=1; //默认电脑执黑先行
CurrentWho=0; //默认黑先; 黑方=0;白方=1;空方=2;
CurrentX=0; //当前一步棋的X含有一对反义词的成语坐标,水平从左至右为1...19
CurrentY=0; //当前一步棋的Y坐标,垂直从上到下为1...19
timew=0,timeb=0;
Playnum=0; //下棋顺序
Playnum1=0;
//下面是棋盘初始化
for (int i=0;i<=BoardLines;i++)
发布评论