软件工程课程设计的报告.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程课程设计的报告

软件工程课程设计报告学号: 20111000915姓名: 杨志耀 学院: 计算机 班级: 191112选题: 五子棋 ……………………….…………….…目录………………………………………….…需求分析……………………………….…..…………………..…………..3总体分析…………………………………………………………………………………………3初始化…………………………………………………………………………………………….3主循环控制模块……………………………………………………………………………..3玩家下子………………………………………………………………………………………...3胜负判断…………………………………………………………………………………….…..3功能描述………….……………………………………….…………………42.1 功能模块图……………………………………………….…………………………….………42.2 功能说明…………………………………………………………………………….…..………4系统设计………….………………………………………………….………53.1 流程图……………………………………………………………………………………………..53.2 流程图说明………………………………………………………………………………………6运行结果……………………………………………………………….…….64.1 游戏设置图………………………………………………………………………………………64.2 游戏说明图………………………………………………………………………………………74.3 认输………………………………………………………………………………………………….84.4 游戏结束图……………………………………………………………………………….……10体会与总结…………………………………………………………..……11源代码………..…………………………..…………………………..…….12需求分析1.1总体分析基于本游戏,首先得为整个棋盘建立一张表格用以记录棋子信息,我们使用一个19*19的二维数组allchess[19][19](15*15是五子棋棋盘的大小),数组的每一个元素对应棋盘上的一个交叉点,用0表示空位,1表示黑子,2表示白子,这张表也是今后分析的基础。1.2初始化首先,建立盘面数组allchess[19][19],然后初始化显示器、鼠标、键盘输入输出设备并在屏幕上画出棋盘。1.3主循环控制模块控制下棋顺序,当轮到某方下棋时,负责将程序转到相应的模块中去,主要担当一个调度者的角色。1.4玩家下子当轮到玩家下时,您通过键盘或鼠标在棋盘上落子,程序会根据该点的位置,在allchess[19][19]数组的相应的地方记录“1”或“2”,以表示该点是黑子或白子。1.5胜负判断无须多言,当一方的五个棋子横向、纵向或斜向连成一线,该方即获胜。功能描述2.1 功能模块图2.2功能说明该五子棋程序基本上实现了五子棋的游戏功能,有双方下棋的界面及最终判断结果的界面。同时该游戏采用二维坐标实现,明了易懂,方便玩家在游戏过程中的基本操作,使游戏更加简便。在细节方面,该系统提供实时存储功能,记录下棋时机来限制玩家用时过长。关于游戏源程序我也做了详尽注释,各功能模块功能分明,可移植性强。当然该系统也有许多不足之处,第一次进行独立的课程设计,也有许多细节方面要考虑,最大的不足就是没有实现人机互弈。系统设计是否超时是否超时判断是否有棋黑棋是否获胜白棋是否获胜判断是否有棋3.1流程图 是 否是是否否否是是否是否3.2流程图说明本程序定义了各种操作函数,各种状态判断,思想明确,思路清晰。各种判断选择了不同路径,因此输出的结果也不一样。程序中“循环”的利用非常直接和清晰,双方交替下棋,因此循环往复,最终决出胜负。分析中,也考虑了很多种情况,针对各个情况均作出了相对措施和解决方案。程序采用循环进行双方交换下棋,并进行了多种判断。首先判断下棋方是否超时,若一方超时,则判定另一方获胜。若未超时,则继续进行。然后判断“黑”棋是否获胜,若“黑”棋获胜,则输出黑方获胜;否则“白”棋下子,再判断“白”棋是否获胜,若胜,输出白方获胜,若不是就转入超时判断,若没超时会继续“黑”棋子下子,若是就输出黑方获胜。如此循环往复…运行结果4.1 游戏设置图 4.2 游戏说明图4.3 认输4.4 游戏结束图体会与总结对于这次的报告,体会很多,开始是看老师给的算法代码,有些地方实在看不懂就问了许多同学,后期写代码也花费了很多时间,对于细节考虑我做了很多,虽然有很多思路,但大多的问题不知到如何解决,所以一直感觉是不成功的,后来在几天努力之后终于做出了一些成果,虽然算

文档评论(0)

skvdnd51 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档