电脑围棋程序编写思路

电脑围棋程序编写思路

ID:6317618

大小:56.50 KB

页数:14页

时间:2018-01-10

电脑围棋程序编写思路_第1页
电脑围棋程序编写思路_第2页
电脑围棋程序编写思路_第3页
电脑围棋程序编写思路_第4页
电脑围棋程序编写思路_第5页
资源描述:

《电脑围棋程序编写思路》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、电脑围棋程序编写思路荷蒲wq.hepu.cn荷蒲围棋软件的编写思路。在围棋程序的实现中,较为关键的是围棋电子棋盘的设计。其他所有功能都是围绕围棋电子棋盘展开的。电子围棋盘的核心是围棋棋盘的数据描述。 1、首先定义围棋子信息:#defineEDGE23//棋盘最大格数#defineMAXMM500//最大手数//color表示棋子颜色,x,y表示在棋盘上的坐标//num表示下子的顺序。=0表示提前摆放的子。//zt表示棋子状态//qs表示棋子的气数//sm表示有说明信息typedefstructqizi{intcolor,x,y,num,zt,qs,sm;}qizi;qiziqip

2、u[MAXMM];//棋谱信息qiziqipan[EDGE][EDGE];//棋盘信息 2、紧接着要考虑的是下棋相关信息。 intnk=0;//显示棋子序号,nk=2显示序号,1=气数intBoardLines=19;//棋盘线数,默认19boolComputerPlaying;//1=该计算机下0=人下boolComputerp1=0;//1=计算机下黑0=人下boolComputerp2=0;//1=计算机下白0=人下intPlayType=0;//2=人-人,1=人-计算机,13=人-网络,0=没有开始,-1=删除棋盘上死子,-2=暂停,3=布黑子,4=布白子,9=演示,1

3、1=学习intPlayType1=0;//2=人-人,1=人-计算机,13=人-网络,0=没有开始,-1=删除棋盘上死子,-2=暂停,3=布黑子,4=布白子,11=学习intMoveCount,MoveCount1;//计步器,记录落子手数,自然顺序intPlaynum=0,Playnum1=0;//要标识的围棋手数,下棋顺序intCurrentX;//记录热子X坐标,intCurrentY;//记录热子Y坐标charCurrentWho;//记录当前棋子颜色,0=黑1=白2=空(终局等,待写)charCurrentWho1;//备份上一次CurrentWhointtimew=0

4、,timeb=0;//计时器设定数据intsdy1=0,sdy2=0;//学习功能上使用intgz;//规则0=中国规则,1=日本规则,2=应氏规则boolplays1=true;//学习持黑boolplays2=false;//学习持白 3、围棋电子棋盘的数据初始化。//数据初始化voidwqinit(void){BoardLines=19;//19X19路标准围棋盘MoveCount=0;//一步棋未下,自然顺序MoveCount1=0;//一步棋未下ComputerPlaying=1;//默认电脑执黑先行CurrentWho=0;//默认黑先;黑方=0;白方=1;空方=2;

5、CurrentX=0;//当前一步棋的X坐标,水平从左至右为1...19CurrentY=0;//当前一步棋的Y坐标,垂直从上到下为1...19timew=0,timeb=0;Playnum=0;//下棋顺序Playnum1=0;//下面是棋盘初始化for(inti=0;i<=BoardLines;i++)for(intj=0;j<=BoardLines;j++){qipan[i][j].color=2;qipan[i][j].x=0;qipan[i][j].y=0;qipan[i][j].num=0;qipan[i][j].zt=0;} //清空棋谱记录,全部设为无效点。QiP

6、u[0][x]留作它用for(inti=0;i<500;i++){qipu[i].color=2;qipu[i].x=0;qipu[i].y=0;qipu[i].num=0;qipu[i].zt=0;qipu[i].sm=0;qpsm1[i].n=0;qpsm1[i].t=0;strcpy(qpsm1[i].sm,"/");}} 4、根据围棋规则编写的一些相关处理函数模块围棋棋子的吃子,是根据围棋棋子的气数来计算的。气数为0的棋子应当从棋盘上拿掉。围棋气数的计算问题,应当说是围棋软件的核心问题。“气”是指棋子在棋盘上可以连接的交叉点,也是棋子的出路。围棋的气数计算,要考虑一个围棋

7、子的连通问题。下面的图形中,交叉点的X代表棋子的气,[图1]图1中右上角的黑子,有两个交叉点和它的直线相接,因此它有两口气。左上角的黑子有三口气,而下边的黑子有四口气。[图2]图2中右边的黑子有四口气,中间连接在一起的两个黑子有六口气,而右边连接在一起的三个黑子有八口气。连接在一起的棋子越多,气也越多。[图3]图2中同样是四个连接在一起的黑子,左边的四个黑棋有十口气,中间的黑棋只有九口气,而右边的黑棋仅有八口气。从上面分析,可以得出,计算一个棋子的气,还有分析该棋子周围的情况,因

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。