五子棋设计问文档

五子棋设计问文档

ID:47068320

大小:241.00 KB

页数:7页

时间:2019-07-14

五子棋设计问文档_第1页
五子棋设计问文档_第2页
五子棋设计问文档_第3页
五子棋设计问文档_第4页
五子棋设计问文档_第5页
资源描述:

《五子棋设计问文档》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、目录1.五子棋设计需求分析12.五子棋框架设计23.五子棋详细设计44.设计的缺陷5工程技术笔记©2008GuangzhouZHIYUANElectronicsCO.,LTD.11.五子棋设计需求分析序号需求紧急状况难易程度完成时间1人机对战一般难2双人对战紧急难16:003网络对战不急极难4棋盘大小可设置紧急容易12:005一局结束后是否继续紧急容易12:006求和一般一般7认输一般一般8悔棋一般一般9下棋时间限制一般一般10棋子重叠处理一般一般14:0011范围出界处理一般一般15:00五子棋游戏的需求暂时想到这些,可能还有有些比较重

2、要也有趣的需求未知,日后想到再添加,其中网络对战模式和人机对战模式比较复杂,先完成其他基本功能在进行此项工作。但须充分考虑其接口,方便添加这两项而不需要大改动。工程技术笔记©2011GuangzhouZHIYUANElectronicsCO.,LTD.61.五子棋框架设计五子棋单机游戏主要有人机对战模式和双人对战模式为主,但不管是人或者计算机,他们都是游戏参与者,没有区别,唯一的区别是他们在下一步棋时,计算机需要依据对方的棋势使用不同的算法,而人是有考虑的,自己思考然后指定位置出棋。在本次设计中,将可选择人机模式或者双人模式,他们都是游戏

3、者模块类,还有一个棋盘类。在游戏者类中对棋盘进行操作,也就是出棋子。框架类图如下图1:图1框架类图框架比较简单,Gamer类引用Table类,Gamer对象每操作一步,Table对象将会改变状态而重新显示。那么是不是要每个游戏者都要创建一个Gamer对象呢,当然可以,但我没有这样做,在Gamer中设置两个游戏者标志,用以表示当前是谁在下棋,下一步又到哪位选手即可,还有判断是否有某一方赢棋的接口。这两个标志分别是flaga和flagb。分别用各自的接口对其进行设置和清楚。在类Table中用一个二维数组表示棋盘,默认大小是20x20(可设置)

4、,默认初始化为个位置上用‘.’表示空,创建棋盘是都为空。当游戏者下棋之后该位置变为有黑子或白子,之后刷新棋盘。框架流程图如下图2:工程技术笔记©2011GuangzhouZHIYUANElectronicsCO.,LTD.6图2框架流程图由此流程图可以很清楚的知道本设计的轮廓,以及程序是如何设计运行的。了解框架类图及整个流程之后,下面进行详细设计。工程技术笔记©2011GuangzhouZHIYUANElectronicsCO.,LTD.61.五子棋详细设计根据框架类图进行实现各个接口,以及根据流程图实现各需求功能。本设计打算先实现双人游

5、戏模式和人机模式,这两个模式基本是一致的,区别是人机模式中计算机一方出棋的实现。那么这里介绍双人模式的详细设计部分即可。在进入双人模式游戏之后,首先,通常五子棋棋盘可以根据游戏者能力进行设置,因为棋盘太小可能会导致太多和棋,进行设置就灵活了很多。确定棋盘之后进行选择哪一方先出棋,以显公平。循环交换下棋,直至一方胜出或者棋盘已满。程序设计流程图如下图3:图3详细设计流程图出棋者一方出棋之后,根据棋盘上数据进行正确性判断,如出棋者所放棋子位置已有棋子存在则提示错误,有该选手继续放棋,或者出棋者所指位置超出棋盘范围同样的处理。知道该位置可以放下

6、棋子。出棋函数传递棋盘引用、以及行列坐在位置为参数,函数原型为:voidNextStep(Table&T,int&hang,int&lie)由上图可知,在一方下棋之后判断是否刚下棋的一方已经胜出,如已经胜出,则提示是否继续游戏,否则检测是否棋盘已满造成和棋,如未满则继续交换下棋。在判断是否有一方赢出是须判断横、竖、斜是否有五颗棋子一样即可。若是人机游戏模式,那么就是人和计算机互相交换出棋,计算机出棋接口尚未实现。本设计实现简单,留有人机游戏模式中计算机下棋接口,将其接口实现即可进行该模式游戏。工程技术笔记©2011GuangzhouZHI

7、YUANElectronicsCO.,LTD.61.设计的缺陷由于时间原因,本设计还有很多缺陷,首先部分功能没有做到,例如认输、求和、撤销等,还有设计本身的也不太合理,我觉得每个游戏参与者一个对象更加方便一写,改进后类图应该如下图4:图4改进后框架类图GameBase是游戏参与者基类,它的两个子类分别是人是参与者以及计算机是参与者的类。他们通过基类接口操作棋盘,这样不管是双人对战模式还是人机游戏模式,都可以使用相同的接口。发现该设计更好时没有时间进行修改了。附录:一下两截图是运行结果:程序开始时工程技术笔记©2011GuangzhouZH

8、IYUANElectronicsCO.,LTD.6其中一方胜利以后工程技术笔记©2011GuangzhouZHIYUANElectronicsCO.,LTD.6

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

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

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