软件综合设计报告.doc_第1页
软件综合设计报告.doc_第2页
软件综合设计报告.doc_第3页
软件综合设计报告.doc_第4页
软件综合设计报告.doc_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

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

文档简介

实验七:书写软件综合设计报告附录A:软件综合设计报告格式封面 (注:每个同学的报告都要有封面,独占一页。用小四号宋体,行距1822磅,报告中可加上适当的小图形) 软件综合设计报告设计题目:人机五子棋游戏软件浙江师范大学 数理与信息工程学院 班级:计算机科学与技术121报告人姓名: 王丹妮 学号:12190111 承担角色: 组员同组组长: 涂文婷 同组其他成员:无课程教师: 贾泂 实验指导教师:贾泂 实验地点:20-206完成起止日期:2015/6/162015/6/23正文一、课程设计概述(目的、任务、开发环境、参考资料)1. 目的五子棋是起源于中国古代的传统的黑白棋中之一。它不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。随着社会的发展,越来越多人接触和使用计算机,网上进行的棋类运动也随之普及。许多人喜欢上了下棋,但有时又苦于没有对手。作为一个计算机专业的学生,我对五子棋有很浓厚的兴趣,对计算机人机对弈智能算法如何与人脑对抗产生了极大的兴趣,当然人机对弈的算法有很多种,许多人也对此有所研究。有些算法的智能程度甚至已经与人脑不相上下。这类程序的开发最重要的莫过于智能算法的实现,然后就是判断胜负的方法。完成项目作业,锻炼编程能力,培养思维,我们小组决定开发一个能够进行人机对战的五子棋游戏软件。2. 任务以C#作为编译环境,实现五子棋的基本功能,达到界面整洁漂亮,游戏性强。3. 运行环境编译调试环境:vs2010C#编译环境;运行系统环境:安装有微软.NETFramework3.5的windows操作系统 4. 参考资料1GB856788.概要设计说明书. 2王志新.五子棋实战技巧.江苏科学技术出版社,2002.3中国五子棋网./二、项目的可行性研究与需求分析1. 系统可行性研究项目组成员熟知五子棋游戏的各项规则,熟悉项目开发环境,有一定的项目的开发经验,其中项目组涂文婷同学还有五子棋核心算法设计经验,更为重要的是项目组成员均对本项目的开发具有强烈的兴趣,有信心完成本项目的开发工作。在时间上也是可以完成的。综上所述,本系统在技术上是可行的。不仅如此,五子棋游戏简单易学,为人民群众所喜闻乐见;本项目开发的五子棋游戏功能强大,界面友好,帮助文件详尽明确,用户在使用方面不存在任何障碍。综上所述,本项目在使用方面是可行的。2. 系统需求分析2.2功能需求分析系统的基本功能需求分析如下:(1)游戏进入界面需要用户登录;(2)进入游戏之后,显示一个十五行十五列的五子棋的棋盘及菜单。在界面上可以在棋盘落子操作和菜单操作之间进行切换,用鼠标来控制;(3)在棋盘点击对应位置,可以落子,棋盘上将由黑白子显示相应的棋子,并且棋子在横纵交点处;(4)对战的过程中有悔棋的功能;(5)游戏的过程中会有历史落子点显示;(6)可以自动判断胜负,胜利一方形成一列的五个或5个以上的棋子,显示是黑方或者白方已经胜利的字样,并且停止落子的功能;(7)有投降和保存棋局的功能。2.3非功能需求分析非功能需求如下:(1)在程序运行的过程中程序不能崩溃,更不能使系统出现问题,造成灾难性的后果;(2)希望在此项目的基础上不做改动或做很少的改动就能在其他的系统或设备上运行;(3)界面清晰容易看懂,方便玩家操作; (4)游戏运行速度不能太慢,要反应及时,以免影响玩家的兴趣。三、项目设计的基本原理和采用的主要方法与技术整个系统主要有两个地方比较难以实现,一个就是判断此时哪一方有更大的获胜可能,另一个就是判断我们的落子位置。前者我们是通过判断是否有5个相同的棋子连在一条线上。以一个棋子为中心,有4条线可以形成五子连线.中心棋子即为最后一步所下棋子,以水平方向为例,从中心棋子出发(设为白子),先向左进行判断,若棋子为白子,则计数器加1(初始值为1),否则(为黑子或无子),则返回中心棋子,向右进行判断,进行相同操作。水平方向判定结束后,若计数器为5,则判白子胜,否则,计数器归1,再从竖直、两个斜向按顺序进行判定。棋盘的每个坐标有3个状态,分别为无子(标记为0),白子(标记为1),黑子(标记为2),对棋盘点进行判断时,只需判定其所在状态即可。若棋盘下满,仍未有五子连线,则判和。而下一步的落子地方,我们可以通过利用计算机的超强的计算能力,通过计算在以后的几步中出现的多种可能性中,哪一种可能性最有利于获胜来找到落子位置。遍历整个棋盘,找出所有空白点,在每个空白点判断与该点相邻的4个方向上各方连续的棋子数,在每一个方向上,判断白子和黑子的连续的个数,判断活3,冲4等各种棋形状况,为各种状况赋权值。然后将该方向上的权值返回,将每个空白点的各个方向的权值相加,为该点权值。令设计一个数组,储存每个空白点权值,然后在遍历整个棋盘空白点,计算出每个空格点,找出权值最大点,也就是当前情况下,电脑最应该落子的点。返回权值最大的点的坐标。四、本人实现项目的过程与步骤确定项目的题目;撰写立题的目的;撰写项目的可行性研究报告;撰写软件综合设计说明书(软件的详细设计)进行界面的美化(这块代码的编写)项目完成后对各个功能的测试。五、个人遇到的困难与获得的主要成果(本节内容不得少于2页)本次项目是我与涂文婷共同订的选题,由于此次课程的要求,我们决定做这个人机五子棋软件,由于这个游戏简单易学,游戏软件较小,较易完成,为了锻炼自身的编程能力,培养思维,巩固对c#语言进行程序设计、数据库建立的基本方法。了解和掌握游戏开发的原理与方法。但是我在代码编写上有很大的困难,但是好在通过组长和教师的帮忙,还是最终顺利的完成了这次项目。在本次项目中我深有体会的是要完成一个程序,先要建立一个完整的系统架构和设计模式,由于我对代码的不熟悉,所以我主要负责文件的撰写和系统架构的设计。在建立过程中,我们对代码的组织并不是很好,由于对这个程序思考的不够深入,导致我们在后期进行算法的改进和功能上的添加就遇到了困难,但是基本架构已经完成,所以我们只能在原来的基础上进行修改和补进,在同学和老师的帮助下最后我们项目所预期的功能全部实现了。在本次的项目中我主要负责了前期的准备,关于五子棋游戏软件资料的收集与整理,撰写可行性研究报告。调查和研究了人机五子棋的可行性。在后期我负责软件的美化与测试,对于美化,我对界面进行了色彩的设计,虽然不算高端大气,但也增加了可爱的元素,带有了趣味性,使整个游戏活泼生动其来,在界面的布局上我们讨论没有花多久的时间,但是在实现和测试的过程中花了很长的一段时间,在整个项目的实施过程中,写的东西很多,多数都需要测试和实验,考虑的不会很周全,需要改写的地方也很多,我们也会经常加班加点的改写。我们相对来讲是把画界面的时间往后推了几天的,而用了五天左右的时间好好的把数据库进行设计,每一个人分开的模块都是联系的相当的紧密,这给我组合项目阶段带来了较大的困难,而且测试起来也不方便,很多时候出了问题都不知道到底是哪一个部份出了问题,所以我在组合的时候基本上都是把他们的代码几乎都看了一遍。但尽管这样,还是庆幸当时的决定,就是先把数据库文件做好,要不是这样,我们后面的问题会严重的多。后期也不断反复进行测试,总之我们还是基本上把人机五子棋游戏软件的所有功能都实现的差不多了,项目开发流程的锻炼的目的是达到了的。 我们基本完成了项目的可行性研究报告,项目的需求规格说明书,软件的详细设计说明、代码实现、测试、操作手册。六、测试与运行记录登录界面包含:登录、退出、忘记密码、新建用户按钮,见下图:登录成功显示结果见下图:点击忘记密码按钮结果见下图:点击新建用户按钮结果显示见下图:游戏界面包含:开始游戏、重新开始、悔棋、投降、保存棋局、加载棋局按钮,及先手选择框。点击开始游戏后悔棋、投降、重新开始按钮将被开启,且可点击棋盘下棋,显示结果见下图:点击投降按钮,将出现提示框,见下图:若游戏出现胜者将显示结果见下图:保存棋局(图1.1)和加载棋局(图1.2)的显示见下图: 图1.1 图1.2七、课程设计完成结果分析与个人小结课程设计完成结果分析:在实施这次游戏软件的开发,已经完成了撰写此次游戏软件开发的可性报告,说明此次的游戏软件可以进行开发。以及软件的详细设计说明。(系统的结构,实现的功能,利用哪些原理)。在测试过程中,完成了登陆界面的设计,可以进行登录和退出,已经可以进行人机五子棋游戏。我们在游戏的过程中也设计了一块位置显示历史下棋的步骤。可让玩家游戏的过程中清楚地看到自己和电脑下的历史步骤,有助于玩家查看。在各个模块测试后,已经基本成功完成各个模块和功能的实现。个人小结:在项目实现的过程中,我学到了很多东西,在实践的能力上有所提高,真正做到了学以致用,在这短短的几周时间内,获得了宝贵的经验,相信一定会为我今后的成功奠定一些基础。在大学三年中,软件项目开发对我来说比较抽象,一个完整的项目要怎么分工及完成项目所要的基本步骤也不明确。而这次实践过程中,让我知道一个完整的项目开发,需要团队来分工合作,在每个阶段中进行必要的总结。一个完整的项目开发它所要经历的阶段包括:项目的可行性研究报告,项目的需求规格说明书,软件的详细设计说明、代码实现、测试、操作手册。必须要有一个好的远景规划,这样才能在预定的时间内完成项目和项目计划所要实现的功能,一个好的软件详细说明书对一个项目的开发有着明确的指引作用,使我们对这个项目所要实现的功能在总体上有具体的认识,并在开发的过程中沿着既定的步骤一步步做下去,就不容易出错。代码的实现是一个项目开发成功与否的关键,可以说,前面所做的事情就是为代码的实现做铺垫。后期的美化与测试是为了更多使用这个软件的人喜爱上这个游戏软件。并在真

温馨提示

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

评论

0/150

提交评论