




已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
目 录1. 五子棋设计需求分析12. 五子棋框架设计23. 五子棋详细设计44. 设计的缺陷5工程技术笔记 2008 Guangzhou ZHIYUAN Electronics CO., LTD. 11. 五子棋设计需求分析序号需求紧急状况难易程度完成时间1人机对战一般难2双人对战紧急难16:003网络对战不急极难4棋盘大小可设置紧急容易12:005一局结束后是否继续紧急容易12:006求和一般一般7认输一般一般8悔棋一般一般9下棋时间限制一般一般10棋子重叠处理一般一般14:0011范围出界处理一般一般15:00五子棋游戏的需求暂时想到这些,可能还有有些比较重要也有趣的需求未知,日后想到再添加,其中网络对战模式和人机对战模式比较复杂,先完成其他基本功能在进行此项工作。但须充分考虑其接口,方便添加这两项而不需要大改动。2. 五子棋框架设计五子棋单机游戏主要有人机对战模式和双人对战模式为主,但不管是人或者计算机,他们都是游戏参与者,没有区别,唯一的区别是他们在下一步棋时,计算机需要依据对方的棋势使用不同的算法,而人是有考虑的,自己思考然后指定位置出棋。在本次设计中,将可选择人机模式或者双人模式,他们都是游戏者模块类,还有一个棋盘类。在游戏者类中对棋盘进行操作,也就是出棋子。框架类图如下图 1:图 1 框架类图框架比较简单,Gamer类引用Table类,Gamer对象每操作一步,Table对象将会改变状态而重新显示。那么是不是要每个游戏者都要创建一个Gamer对象呢,当然可以,但我没有这样做,在Gamer中设置两个游戏者标志,用以表示当前是谁在下棋,下一步又到哪位选手即可,还有判断是否有某一方赢棋的接口。这两个标志分别是flaga和flagb。分别用各自的接口对其进行设置和清楚。在类Table中用一个二维数组表示棋盘,默认大小是20x20(可设置),默认初始化为个位置上用.表示空,创建棋盘是都为空。当游戏者下棋之后该位置变为有黑子或白子,之后刷新棋盘。框架流程图如下图 2:图 2 框架流程图由此流程图可以很清楚的知道本设计的轮廓,以及程序是如何设计运行的。了解框架类图及整个流程之后,下面进行详细设计。3. 五子棋详细设计根据框架类图进行实现各个接口,以及根据流程图实现各需求功能。本设计打算先实现双人游戏模式和人机模式,这两个模式基本是一致的,区别是人机模式中计算机一方出棋的实现。那么这里介绍双人模式的详细设计部分即可。在进入双人模式游戏之后,首先,通常五子棋棋盘可以根据游戏者能力进行设置,因为棋盘太小可能会导致太多和棋,进行设置就灵活了很多。确定棋盘之后进行选择哪一方先出棋,以显公平。循环交换下棋,直至一方胜出或者棋盘已满。程序设计流程图如下图 3:图 3 详细设计流程图出棋者一方出棋之后,根据棋盘上数据进行正确性判断,如出棋者所放棋子位置已有棋子存在则提示错误,有该选手继续放棋,或者出棋者所指位置超出棋盘范围同样的处理。知道该位置可以放下棋子。出棋函数传递棋盘引用、以及行列坐在位置为参数,函数原型为:void NextStep(Table &T,int &hang, int &lie)由上图可知,在一方下棋之后判断是否刚下棋的一方已经胜出,如已经胜出,则提示是否继续游戏,否则检测是否棋盘已满造成和棋,如未满则继续交换下棋。在判断是否有一方赢出是须判断横、竖、斜是否有五颗棋子一样即可。若是人机游戏模式,那么就是人和计算机互相交换出棋,计算机出棋接口尚未实现。本设计实现简单,留有人机游戏模式中计算机下棋接口,将其接口实现即可进行该模式游戏。4. 设计的缺陷由于时间原因,本设计还有很多缺陷,首先部分功能没有做到,例如认输、求和、撤销等,还有设计本身的也不太合理,我觉得每个游戏参与者一个对象更加方便一写,改进后类图应该如下图 4:图 4 改进后框架类图GameBase是游戏参与者基类,它的两个子类分别是人是参与者以及计算机是参与者的类。他们通过基类接口操作棋盘,这样不管是双人对战模式还是人机游戏模式,都可以使用相同的接口。发现该设计更好时没
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年南昌大学第一附属医院GCP中心临床试验质控岗招聘1人备考考试题库附答案解析
- 用户粘性模型构建-洞察及研究
- 亲子活动叠被子方案策划
- 晶体生长抑制因子研究-洞察及研究
- 海底地形地貌测绘-洞察及研究
- 锂硫电池锂金属负极稳定化-洞察及研究
- 油墨厂押运员工作办法
- 清代僧人管理制度
- 物业相关管理服务合同范本
- 2024-2025学年福建省莆田市锦江中学高一(下)期中数学试卷(含答案)
- 机关档案管理工作培训课件
- 生物武器伤害及其防护课件
- 简约大气商业计划书项目融资模板
- 内经选读上古天真论课件
- GJB9001C标准内审员考试自测题试题含答案
- 一、长方体和正方体表面涂色的
- GB∕T 36667-2018 船舶和海上技术 船舶系泊和拖带设备舷内带缆桩(钢板型)
- 猪肉采购服务方案(完整版)
- kinetix6200和6500模块化多轴伺服驱动器用户手册
- 【图文】GB8624-2012建筑材料及制品燃烧性能分级(精)
- “日本经济”课程教学大纲
评论
0/150
提交评论