- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
中国象棋项目报告
小组项目报告模板 项目名称中国象棋完成时间2016/4/20版本号:V 1.1项目组长杨安东小组成员成员分工自评成绩(A/B/C)杨安东(软1506)设计类、代码实现 A阙建明(软1506)设计类、代码实现、程序调试、bug修改 A刘金池(软1506)设计类、代码实现、UML图、程序调试 A刘健良(软1506)设计类、代码实现、程序调试 A需求分析 一款能够控制棋子移动、拥有判别棋子走法是否符合规则、人机对弈等功能。 概要设计 功能测试 源码地址: HYPERLINK /qjm253/p/5374913.html /qjm253/p/5374913.html 项目小结 在项目分析设计及类结构构建的过程中发现有多种方式实现棋盘和棋子的关联(将棋盘的每个位置都置为棋子,实际有子的赋予颜色和名称,其它为空子;或者在棋子中添加Point属性,记录其位置......但是发现很多都与现实中的对弈有很大差别)经过一番讨论之后我们决定将棋盘的每个位置都设为Chess类的指针,其上无子时为空指针,有子时指向确定子。 在排版输出时发现两方棋子区分度不高,一开始我们采用红方均用繁体字,黑方军用简体字的方式,但发现还是不好辨认,且炮并没有对应的繁体字,后来利用百度找到了改变输出颜色的方法,完善了一下互动界面。 在老师的建议下我们将Player改为抽象类,派生出了Person_player和AI_player,为AI预留了接口,还咋其中添加了记录玩家剩余棋子数的成员变量等完善用户体验。 个人感悟: 阙建明: 在项目开始之间并没有想过会那么快实现,虽然没有添加上AI,但我相信随着学习的深入我们还可以进一步改进。从这次的项目开发过程中我体会到前期设计的重要性,一个优秀的程序员并不仅局限于代码实现能力,还在与前期的需求分析,项目框架的设计及程序的可扩展性设计。在前期讨论的时候我们进行了分工,在明确自己要做什么的情况下程序实现的进度快了许多,这让我体会到团队分工所带来的效率,如何合理的分配工作看来也是一个团队leader所必备的品质。 在第一次项目报告提交后老师对我们的成果给予了一定的肯定,也指出了我们的很多不足,我发现我们的设计中还是有很多的局限性和不可扩展性,也忽视了很多用户体验方面的优化,如果这是一个成型的产品或许我们就要体验一番因为用户该需求就整个程序重头再来的悲剧了,这让我再一次感受到前期设计的重要性。下次再做项目的时候一定要多花时间和队友们认真分析需求,全面地考虑代码复用性、程序的可扩展性及用户的体验,尽量让设计出的代码易于维护,易于优化。 杨安东: 在作业的计划阶段,大家坐在一起进行了讨论,为了高效率,在讨论时我们依次发言,选定题目为双人象棋,具体实现首先面临的是分类问题,棋盘类,玩家类,棋类,根据实际情况,将棋盘设定为棋的二维指针数组,棋的属性包含棋的行走方法和以棋为原点的可走位置。玩家包含移动棋子和吃子。在过程中体会到,团队合作的高效率需要聆听的心,团队合作的力量是巨大的,从计划到完成,一共花费8个小时。团队合作也是快乐的,可以体会到配合之间的和谐与碰撞。这次大作业给了我一次珍贵的经验与回忆。 刘金池: 以前没接触过UML类图,所以首先参考了《大象:Thinking in UML》,掌握了基本的概念和UML图的格式符号,然后下载了umlstar,上网看完教程后开始制作,发现成员函数及参数设置非常不方便,表示继承关系时有些线对不齐,上贴吧发帖求救,被建议换一个软件,于是采用了微软的Visio绘图,再次上网看了教程,生成项目后设置成员函数和参数变得容易很多,做完图后发现表示继承时折线对不齐等问题严重影响UML图的美观,而且出现了新问题:不能表示虚函数,于是在知乎上提问,一些有经验的人推荐我使用Enterprise Architect,这个软件就很专业了,表示继承关系时折线问题解决了(自动对齐),子类继承时布局也美观了很多,虚函数也可以设置成斜体,于是类图就做好了。 收获:一、讨论和分工很重要,我负责编的基类和派生类,开始的时候Chess类没设置judge函数,而是放到派生类中定义,调用时非常不方便,给队友编写move函数带来不便,于是就在Chess类中定义了虚函数,使用很方便。体会到好的方法会带来的便捷。二、通过敲代码加深了我对C++封装性和多态性的理解,写代码能力得到了提升。三、学到了一些基本UML知识,并且会用软件制作简单的UML图,有一些图还是不会做比如行为模型、状态图、活动图,这次做图历时一深刻体会到了好??软件带来了极大的便捷,第一次用umlstar是花了两个小时才做完,后来用Enter
有哪些信誉好的足球投注网站
文档评论(0)