五子棋报告.doc_第1页
五子棋报告.doc_第2页
五子棋报告.doc_第3页
五子棋报告.doc_第4页
五子棋报告.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

学 生 实 验 报 告课程名称:软件体系结构 专业班级: 学生学号: 学生姓名: 所属院部:信息技术学院 指导教师: 20132014学年 第二学期实验项目名称: 实验 五子棋人机对弈的架构实现 实验学时: 同组学生姓名: 实验地点: A107软件工程实验室 实验日期: 2014年 月 日 月 日 实验成绩: 批改教师: 张家浩 批改时间: 实验 五子棋人机对弈的架构实现一、实验目的(1)学习使用VS2010架构浏览器(Architecture Explorer)、层图(Layer Diagram)、类图(Class Diagram)、依赖图(Dependency Graph)、时序图(Sequence Diagram)等工具,分析已有软件系统的静态和动态架构,并能从特定关注点切入,探索开发者所关心的问题(如:功能扩展需求)与整体架构的关系及如何从不同的层面来看架构。这些工具的使用,可以帮助开发者根据自己的需要,理解和分析架构,其关注的细腻程度可以自由选择,从程序、命名空间、类、到方法。(2)分析并解剖一个具体的软件应用系统五子棋,当需要将人人对弈的五子棋,扩展为人机对弈时,需要在系统架构的什么地方,进行扩展最合适,为什么?如何进行扩展,实现它。(3)通过实验,体会软件架构的存在,当软件开发涉及架构问题时(如:如何进行扩展更合适、更方便),体会好的架构与不良架构的差别,认识架构在开发中的作用。二、实验要求(1)具有基本的C#语言编程技术;(2)具有VS2010的基本使用经验;(3)完成系统调试,得出正确的实验结果;(4)做完实验后写出本实验的实验报告。三、实验设备、环境(1)Visual Studio 2010。(2)老师提供的人人版的五子棋系统(C#)。四、实验步骤及内容(1)利用VS2010的架构分析器,画出五子棋系统的依赖项关系图:(2)说明五子棋系统中,以下类的主要作用和协同关系:From1类:BlackStone/WhiteStone(3) 利用VS2010的时序图工具,分析From1类各方法之间的调用关系,画出系统的主要执行流程:(4)将人人模式改为人机模式的切入点放在哪里最合适?为什么?答:将切入点放在程序黑子已经下完,白子即将要下的地方,因为程序原来是人人模式改为人机模式,因而在黑子下完,将白子改为计算机随机处理。(5) 将人人模式改为人机模式的主要修改方案(简单版),包括以下几个步骤:1、确定黑子为人下,而白子是由计算机随机下在黑子的四周2、找到并确定白子要下的地方3、插入程序代码4、控制边界,即到了边界处不能落子,并提示边界错误信息(6)实现代码:if (isPlayWhiteStone) Random urd = new Random (); int p = urd.Next(0, 3); if(p=0) whitewcount.X = blackbcount - 1.X ; whitewcount.Y = blackbcount - 1.Y - 40; if(p=1) whitewcount.X = blackbcount-1.X ; whitewcount.Y = blackbcount - 1.Y + 40; if(p=2) whitewcount.X = blackbcount - 1.X - 40; whitewcount.Y = blackbcount - 1.Y ; if(p=3) whitewcount.X = blackbcount - 1.X + 40; whitewcount.Y = blackbcount - 1.Y ; if (blackbcount - 1.X + 40 = 400) MessageBox.Show(超出边界); (7)实现结果截图:五、讨论、思考题1、在对已有的五子棋系统进行扩充的时候,从架构看,感觉好的(扩展方便)的地方是什么?感觉不好的(扩展不方便)的地方是什么?为什么?好的地方:1) 在无需过多了解其他层次的基础上,可以将某一层作为一个有机整体理解. 2) 可以替换某一次的具体实现. 3) 可以将层次间的依赖性减到最低. 4) 分层有利于标准化工作. 5) 一旦构建好了某一层次,就可以用它为很多上层服务提供服务.不好的地方:1) 层次并不能封装所有东西. 2) 过多的层次会影响性能. 2、实验体会(遇到问题及解决办法,实验过程中的心得体会)通过这么多天对这个游戏的改编,我深深的体会到了,不论做什么事情都要细心、有耐力,不能怕吃苦。而且通过这几天的学习我也学到了很多,最主要的有以下几点:第一:对此该游戏的算法进行了了解并且设计。算法是在每个项目中都会出现的都需要去设计的,故一个好的算法设计是必不可少的。第二:介绍了此游戏的功能模块。第三:网络游戏正在讯速发展,作为其中一种简单休闲的游戏也在不断地前进。很多想法实现起来有很大的困难,这些困难可能是由于自己以前基础知识的漏洞;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论