收藏 分销(赏)

毕业设计论文(五子棋游戏)VS2010、 C++语言.pdf

上传人:曲**** 文档编号:462139 上传时间:2023-10-11 格式:PDF 页数:82 大小:3.94MB
下载 相关 举报
毕业设计论文(五子棋游戏)VS2010、 C++语言.pdf_第1页
第1页 / 共82页
毕业设计论文(五子棋游戏)VS2010、 C++语言.pdf_第2页
第2页 / 共82页
毕业设计论文(五子棋游戏)VS2010、 C++语言.pdf_第3页
第3页 / 共82页
毕业设计论文(五子棋游戏)VS2010、 C++语言.pdf_第4页
第4页 / 共82页
毕业设计论文(五子棋游戏)VS2010、 C++语言.pdf_第5页
第5页 / 共82页
点击查看更多>>
资源描述

1、中文题目:五子棋游戏开发外文题目:Gobang game deve I opment毕业设计(论文)共幽页(其中:外文文献及译文15页)图纸共。张摘要本系统是五子棋游戏,该系统采用面向过程的开发方法。主要包括问题定义、可行性 研究、需求分析、总体设计、详细设计、编码和测试等部分。本系统主要包括人机对弈和人人对弈两种游戏类型,同时实现了用户注册与登录、悔 棋、认输等功能。其中五子棋人机对弈是计算机博弈中的一种。研究其计算机算法,可以 让我们看到人工智能的稚形,也有助于我们人脑的开发。五子棋是我国发明的,研究它可 以让更多的外国人了解五子棋,这有助于我国优秀文化的推广。本系统是在VS2010开发工

2、具与C+语言环境下开发的一个直观大方的自定义界面的 带部分AI功能的五子棋游戏,游戏程序实现人机对弈和人人对弈,自动智能计算最佳落 子位置,而且程序能够自动的判定游戏的获胜方和游戏的结束与否,实现对战双方顺利进 行博弈。关键词:五子棋;人工智能;VS2010;C+语言AbstractThis artic le is a gobang game system,the system adopts the proc ess oriented development method.Mainly inc ludes problem definition,feasibility study,demand

3、analysis,general design,detailed design,c oding and test and so on.This system mainly inc ludes the man-mac hine game and everyone had the two types of games,at the same time realize the user registration and login,HuiQi,etc.The gobang man-mac hine game is one of the c omputer game.Study the c omput

4、er algorithms,we c an see the young form of artific ial intelligenc e,also helps to the development of the human brain.Gobang is invented in China,the researc h it c an let more foreigners know renju,whic h helped popularize Chinese exc ellent c ulture.This paper is about using VS2010 development to

5、ol with c+language development of a c ustom interfac e intuitive and easy with the func tion of some AI gobang game,the game program realization man-mac hine game and everyones game,the best move later automatic intelligent c omputation,and the program c an automatic ally determine the winner of the

6、 game and the end of the game or not,the game against both sides smoothly.Key words:gobang;Artificial intelligence;VS2010;C+languagen目录刖百.11问题定义.21.1项目名称.21.2开发背景.21.3项目目标.22可行性研究.32.1系统调研.32.1.1系统分析.32.1.2业务流程分析.32.2可行性分析.42.2.1 技术可行性.42.2.2 经济可行性.52.2.3 法律可行性.53需求分析.63.1系统的功能描述.63.2系统的逻辑模型.63.2.1系

7、统的数据流图.63.2.2数据流图的符号说明.63.2.3系统数据流图.73.3数据字典.103.3.1数据存储.103.3.2 数据流.103.3.3 数据元素.113.3.4 数据处理.114总体设计.134.1开发设计思想.134.1.1数据结构.134.2.2程序流程.134.2总体结构设计.154.3系统功能模块设计.154.3.1 模块 IP0 图.165 i羊名田设计.225.1 登录模块详细设计.225.1.1登录模块功能.225.1.2登录模块程序流程图.225.1.4登录模块的界面设计.235.2游戏模块详细设计.235.2.1用户进入游戏流程.235.2.2 用户玩游戏流

8、程.245.2.3 游戏界面设计.256编石马.266.1编码介绍.266.2编码的特点.266.3开发工具简介.266.3.1软件的特点.266.3.2 M ic rosoft Ac c ess 2013 的特性.276.4游戏界面设计.286.5源程序清单.307系统测试.317.1测试的任务及目标.317.1.1测试的任务.317.1.2测试目标.317.2 测试方案.317.2.1模块测试.317.2.2 集成测试.327.2.3 验收测试.327.2.4 平行运行.327.3 测试用例.327.4 测试结论.338系统使用说明.348.1 系统运行环境.348.2 外部配置.348.

9、3系统安装指南.349结论.35致谢.36参考文献.37附录A中文译文.38附录B英文文献.45附录C源程序清单.53辽宁工程技术大学毕业设计(论文)前言五子棋是起源于中国古代的传统黑白棋种之一。现代五子棋日文称之为“连珠”,英 译为“Renju”,英文称之为“Gobang”或“F为(Five in a Row的缩写),亦有“连五子”、“五子连”、“串珠”、“五目”、“五目碰”、“五格”等多种称谓。五子棋不仅能增强思维能力,提高智力,而且富含哲理,有助于修身养性。五子棋既 有现代休闲的明显特征“短、平、快”,又有古典哲学的高深学问“阴阳易理”;它既有简 单易学的特性,为人民群众所喜闻乐见,又有

10、深奥的技巧和高水平的国际性比赛;它的棋 文化源渊流长,具有东方的神秘和西方的直观;既有“场”的概念,亦有“点”的连接。它是中西文化的交流点,是古今哲理的结晶。当我们与电脑对战对时,您知道这些软件是怎样像人脑一样进行思考的吗?总的来说(我们假定您熟悉五子棋的基本规则),要让电脑知道该在哪一点下子,就要根据盘面的 形式,为每一可能落子点计算其重要程度,也就是当这子落下后会形成什么模型,然后通 览全盘选出最重要的一点,这便是最基本的算法。当然,仅靠当前盘面进行判断是远远不 够的,这样下棋很容易掉进玩家设下的陷阱,因为它没有考虑以后的变化。所以在此基础 上我们需要使用好的算法是电脑能预测出今后几步的各

11、种走法,以便做出最佳选择,这也 是我们下棋时常说的“想了几步”。怎样才能达到这个程度呢?这是本文所要讨论的主要 问题。本人使用C+语言作为开发工具,在吸收别人所编的五子棋游戏软件的基础上,再融 入自己的创新思想(棋盘的转换,声音的引入等),编写了这个五子棋游戏,软件实现了 人机对弈和双人对弈的功能,游戏软件界面美观,操作容易,电脑的AI值也较合适。1胡静:五子棋游戏开发1问题定义1.1 项目名称五子棋游戏1.2 开发背景五子棋是人们喜欢的一种棋类游戏,近来,随着计算机的快速发展,以计算机作为对 战平台,各种棋类游戏如雨后春笋般纷纷冒出,使得那些喜爱下棋,有常常苦于没有对手 的棋迷们能随时过足棋

12、瘾,而且这类软件个个水平颇高,大有与人脑分庭抗礼之势。其中 战胜过国际象棋世界冠军一卡斯帕罗夫的“深蓝”便是最具说服力的代表。同时也有很多 业余爱好者,甚至对孩子都会有一定的吸引力。作为一个五子棋游戏爱好者,在使用了众多的五子棋游戏软件后,发现当今大多数五 子棋游戏软件中棋子与棋盘的类型单一,电脑的AI值有些过高,导致一些五子棋的业余 爱好者备受打击。同时当前网络上流传的五子棋游戏功能并不尽善尽美,其中最主要的问 题就是人机对战和双人对战不能够一起实现,所以我决定开发一个既能够人机对战,又能 够进行双人对战的五子棋系统。1.3 项目目标游戏会分为人机对弈和人人对弈,同时在游戏过程中可以选择悔棋

13、。棋盘的颜色可以 更换,以适应更多玩家的需求。还有用户管理功能,记录用户游戏的信息。2辽宁工程技术大学毕业设计(论文)2可行性研究2.1 系统调研2.1.1 系统分析此系统为智力游戏,适合于各类游戏爱好者。由于其经典性及其游戏的简单性,各类 人士都可以也都爱玩。人们在与电脑对战享受娱乐的同时,也会体会到自己的智力也会有 所提升。五子棋游戏程序由于规则简单操作简便等特点,方便作为对人工智能研究的首选 对象。2.1.2 业务流程分析在系统分析中,业务流程分析是工作量大而又烦琐细致的工作。它是掌握现行系统状 况,确立系统逻辑模型不可缺少的环节。表2-1业务流程图图例说明图形符号Tab.2-1 Sig

14、n legend of Operational flow名称 符号说明改变数据值或数据位置的加 处理工或部件连接符号,致命数据的流动 数据流方向(_数据存储 对数据信息进行存储、_报表和单据 处理生成的文件系统外部实体系统之外的数据提供或数据获得组织结构或个人3胡静:五子棋游戏开发图2-2用户管理系统业务流程图Fig.2-2 Diagram of User Management Proc ess2.2可行性分析可行性分析(Feasibility Analysis)也称为可行性研究,是在系统调研的基础上,针对新系统的开发是否具备必要性和可能性,对新系统的开发从技术、经济、操作与法律 等方面进行分

15、析和研究,以避免投资失误,保证新系统的开发成功。可行性研究的目的就 是用最小的代价在尽可能短的时间内确定问题是否能够解决。2.2.1技术可行性C+语言是国际上广泛流行的计算机高级语言,它适合作为系统描述语言,即可 以用来编写系统软件,也可以编写应用软件。本系统需要操作和输出显示棋子位置,本系 统的操作要由计算机鼠标在人的操作下完成。C+语言本身并不提供输入和输出语句,输 入和输出的操作都是由函数来完成的,在C+语言的标准库函数中提供了一些输入和输出 的函数,这些函数的指针都是针对系统隐含指定的输入和输出设备的。综合运用这些输入 和输出的函数可以实现上述的功能。该系统所需要硬件设备,如PC机等,

16、这些设备在性 能上已经有了很大的提高,价格又相对较低,能够满足系统功能的要求。在软件上,操作 系统采用windows 7,系统的开发采用Visual Studio 2010,它作为一种现代化的编程语 言,提供完善的指令控制语句等,同时满足不同系统的技术要求,这些软、硬件在各种大 小型游戏中已被大量应用,技术上都比较成熟。因此,技术上是可行的。4辽宁工程技术大学毕业设计(论文)2.2.2经济可行性估算新系统的成本效益分析,其中包括估计项目开发的成本,开发费用和今后的运行、维护费用,估计新系统将获得的效益,估算开发成本是否回高于项目预期的全部经费。并 且,分析系统开发是否会对其它产品或利润带来一定

17、影响。1)支出:基础投资:硬件货品:PC机软件货品:WINDOWS?.Visual Studio 2010、WPS、Mic rosoft Ac c ess 2013其它一次性支出:软件设计和开发费用经常性支出:软件维护费用、软件使用费用。2)效益:系统的效益可以从经济效益和社会效益两方面考虑。对于五子棋游戏则应着重分析其 社会效益。例如,游戏投入运行后可以使人们的生活更加多彩。增强了人们的娱乐生活,提高了智力水平。2.2.3法律可行性新系统的研制和开发,将不会侵犯他人、集体和国家的利益,不会违反国家政策和 法律。综上所述,开发本系统是切实可行的。5胡静:五子棋游戏开发3需求分析3.1系统的功能

18、描述游戏说明:游戏开始时,由黑子开局,将一枚棋子落在棋盘一坐标上,然后由白棋落 子,如此轮流下子,直到某一方首先在棋盘的竖、横或斜三方向上的五子连成线,则 该方该局获胜;然后继续下一局,每胜一局得10分,输一局或平局得0分,先赢两局 的一方为最终获胜者;在下棋途中可以悔棋。功能列表如下:1)输出棋盘;2)显示用户行程,提示用户下子;3)查看用户的输入是否出界;4)悔棋,下错位置可以悔棋;5)判断每局游戏输赢,显示每局游戏的获胜者。6)判断是否进行下一局。7)退出游戏。3.2系统的逻辑模型3.2.1 系统的数据流图数据流图(DFD)是一种图形化技术,它描绘信息流和数据从输入移动到输出的过程 中所

19、经受的变换。在数据流中没有任何具体的物理部件,它只是标绘数据在软件中流动和 被处理的逻辑过程。数据流图是系统逻辑功能的图形表示,用户也容易理解,因此是分析 员与用户之间极好的通信工具。3.2.2 数据流图的符号说明6辽宁工程技术大学毕业设计(论文)表3-1数据流图的符号说明Tab.3-1 Sign legend of Data flow图形符号 名称 符号说明记述系统之外的数据提供或数据获 实体得组织机构或个人,框内为实体名称记述某种业务的手工或计算机处理处理 其中,PM区记述处理标号C区记述处理名称记述与处理有关的数据存储,DN区dn|S 数据存储记述存储的标号,S区记述存储数据的名称FM数

20、据流记述数据流流动方向,FM记述数据流的名称3.2.3系统数据流图用户Fig.3-1 Diagram of gobang Top Data Flow用户7胡静:五子棋游戏开发D1用户信息表FL2用户信息F1.1用户信息F13用户信息口图3-2用户管理一级细化数据流图Fig.3-2 First Refinement of User management Data FlowP2F2.侑效的町2人机对弈信息口用户信息游戏F2.3人人对弈信息口图3-3游戏一级细化数据流图Fig.3-3 First Refinement of game Data FlowFl.1.1 用户.信息注册FL 1.2用 户信

21、息Dl用户信 息表图3-4注册管理二级细化数据流图Fig.3-4 Sec ond Refinement of register Data Flow8辽宁工程技术大学毕业设计(论文)D1用户信息表F1.2.1 用U户信息2 证户息 pl.验用信F1.2.2有效 的用户信息图3-5登录管理二级细化数据流图Fig.3-5 Sec ond Refinement of login Data FlowP2.1F2.1.1F2.1.2 a图3-6游戏选择二级细化数据流图Fig.3-6 Sec ond Refinement of game-style Data FlowP2.2F2.2.1,人人对弈F2.2,

22、2*y图3-7游戏选择二级细化数据流图Fig.3-7 Sec ond Refinement of game-style Data Flow9胡静:五子棋游戏开发3.3数据字典数据字典(Data Dic tionary,DD)就是在系统的数据流图的基础上,进一步定义和 描述所有的数据元素、数据结构、数据存储、和处理过程的详细逻辑内容与特征的工具。数据字典对数据流程图的各种成分起注解、说明作用,给这些成分赋以实际的内容。它的 任务是对于数据流程图中出现的所有命名元素都在数据字典中作为一个条目加以定义,使 得每个图形元素的名字都有一个确切的解释。本系统数据字典所描述的主要内容包括:1)数据存储:用于

23、描述数据流图中的数据存储。2)数据流:对数据流图中的数据流进行定义,主要是系统输入与输出的数据流。3)数据处理:对输入、输出的数据流的处理描述。4)数据元素:数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。3.3.1数据存储数据存储是数据结构停留或保存的地方。也是数据流的来源和去向之一,可以是手工 文档或手工凭单,也可以是计算及文档。一般而言,应包括如下内容:数据存储名,说 明,编号,输入的数据流,输出的数据流,组成(数据结构),数据量,存取频度,存取 方式。名字:用户信息表描述:记录用户相关信息。编号:D1组成:用户编号,用户名,密码,胜,平,负3.3.2数据流数据流是数据结构

24、在系统内传输的路径。对数据流的描述通常包括如下内容:数 据流名,说明,编号,数据流来源,数据流去向,组成(数据结构)。#.苦选成 编名描组F1用户信息用户相关信息的添加Fl.l F1.2编号:F2名字:游戏类型信息描述;用户选择人机对弈和人人对弈中的一种组成:F2.1 F2.2、F2.310辽宁工程技术大学毕业设计(论文)编号:F1.1名字:用户信息描述:注册用户的信息,输入用户 名和密码组成:Fl.l.k Fl.1.2编号:F1.2名字:用户信息描述:注册用户的信息,输入用户 名和密码组成:F1.2.K F1.2.2编号:F2.1名字:有效用户信息 描述:已注册用户的信息 组成:Fl.l.k

25、 Fl.1.2编号:F2.2名字:人机对弈游戏信息 描述:用户与电脑进行游戏组成:F2.1.K F2.1.2编号:F2.3名字:人人对弈游戏信息描述:任意两个人都可以进行游戏 组成:F2.2.1、F2.2.23.3.3数据元素名 字:username名 字:password描述:用户名称描述:密码类型:Char类型:Char长度:20长度:20名字:win名字:ping描述:胜利次数描述:平局次数类型:int类型:int长度:5长度:5名字:failure描述:失败次数类型:int长度:53.3.4数据处理编号:P名称:五子棋游戏 描述:五子连线即胜利组成:Pl,P211胡静:五子棋游戏开发编

26、号:P1名称:处理信息描述:用户信息注册、判断是否是有效用户组成:Pl.l,P1.2编号:P2名称:游戏描述:选择游戏的类型,包括人机对弈和人人对弈组成:P2.1,P2.2编号:P1.1名称:注册 描述:注册新用户 组成:编号:P1.2名称:验证用户描述:判断输入的用户信息是否是有效用户组成:Pl.l,P1.2编号:P2.1名称:人机对弈描述:用户与电脑之间进行游戏 组成:无编号:P2.2名称:人人对弈描述:任意两个游戏者进行游戏组成:无12辽宁工程技术大学毕业设计(论文)4总体设计所谓总体设计,就是根据目标系统逻辑功能的要求,结合实际情况,采用一定的方法,详细地确定目标系统的结构和具体实施方

27、案,即建立目标系统的物理模型。总体设计的指导思想是结构化法。总体设计的目标是:在保证实现逻辑模型的基础上,尽可能地提高系统的各项指标,即主要性、可靠性、工作质量、工作效率和经济性等,故 系统设计的指标是衡量系统设计好坏的准则。对这五个方面的指标,在一定程度上既是互 相矛盾的又是相辅相成的。对于不同的系统,由于功能及系统目标的不同,对上述指标的 要求各有所侧重。总体设计的原则是:系统的观点,用系统工程的方法去设计和建立目标系统,整个系 统应有统一的数据代码、统一的数据组织方法;采用模块化的结构,信息系统应该按照模 块化的形式构造,以便于系统的设计、调试和维护,增强系统的适应性、灵活性和实用性;阶

28、段划分明确、分步实现,在系统设计的过程中有分阶段进行,各阶段界限清晰、目标明 确,自顶向下,逐步细化地设计,本阶段目标未完成之前,不要开始下一个阶段的工作;尽可能地选用先进及合适的计算机程序设计语言。4.1开发设计思想4.1.1数据结构首先得为整个棋盘建立一张表格用以记录棋子信息,我们使用一个15*15的二维数组 Table1515(15*15是五子棋棋盘的大小),数组的每一个元素对应棋盘上的一个交叉 点,用0表示空位、1代表己方的子、2,代表对方的子;这张表也是今后分析的 基础。在此之后还要为电脑和玩家双方各建立一张棋型表Computer 15 15 4和 Player15154,用来存放棋

29、型数据,就是刚才所说的重要程度,比如用20代表“冲四”的点,用15代表“活三”的点,那么在计算重要性时,就可以根据2015得 出前者比后者重要,下子时电脑便会自动选择“冲四”的点。那为什么棋型表要使用三维 数组呢?因为棋盘上的每一个点都可以与横、竖、左斜、右斜四个方向的棋子构成不同的 棋型,所以一个点总共有4个记录;这样做的另一个好处是可以轻易判定出复合棋型,例 如:假如同一点上有2个15就是双三、有一个15和一个,20就是四三。4.2.2程序流程13胡静:五子棋游戏开发我们主要讨论五子棋的核心算法,即:人工智能部分。我们看到本程序由六个基本 功能模块构成,各模块的具体分析如下:(1)初始化:

30、首先,建立盘面数组Table 15 15、对战双方的棋型表 Computer 15 15 4和Player 15 15 4并将它们清零以备使用;然后初始化显示器、键盘、鼠等输入输出设备并在屏幕上画出棋盘。(2)主循环控制模块:控制下棋顺序,当轮到某方下子时,负责将程序转到相应的 模块中去,主要担当一个调度者的角色。(3)玩家下子:当轮到玩家下时,您通过键盘或鼠标在棋盘上落子,程序会根据该 点的位置,在Table1515数组的相应地方记录2,以表明该子是玩家下的。(4)盘面分析填写棋型表:本程序核心模块之一,人工智能算法的根本依据!其具 体实现方法如下:您在下五子棋时,一定会先根据棋盘上的情况,

31、找出当前最重要的一些 点位,如“活三”、“冲四”等;然后再在其中选择落子点。但是,电脑不会像人一样分析 问题,要让它知道哪是“活三”、哪是“冲四”,就得在棋盘上逐点计算,一步一步的教它。先来分析己方的棋型,我们从棋盘左上角出发,向右逐行搜索,当碰到一个空白点 时,以它为中心向左挨个查找,假如碰到己方的子则记录然后继续,假如碰到对方的子、空白点或边界就停止查找。左边完成后再向右进行同样的操作;最后把左右两边的记录合 并起来,得到的数据就是该点横向上的棋型,然后把棋型的编号填入到Computerx y n 中就行了(x、y代表坐标,n=0、1、2、3分别代表横、竖、左斜、右斜四个方向)。而其 他三

32、个方向的棋型也可用同样的方法得到,当搜索完整张棋盘后,己方棋型表也就填写完 毕了。然后再用同样的方法填写对方棋型表。注意:所有棋型的编号都要事先定义好,越重要的号数越大!(5)电脑下子:有了上面填写的两张棋型表,现在要作的就是让电脑知道在哪一点 下子了。其中最简单的计算方法,就是遍历棋型表Computer15 15 4和 Player15154找出其中数值最大的一点,在该点下子即可。但这种算法的弱点非常 明显,只顾眼前利益,不能顾全大局。要解决这个问题,我们引入今后几步猜测法,具体方法是这样的:首先,让 电脑分析一个可能的点,假如在这儿下子将会形成对手不得不防守的棋型(例如:冲四、活三);那么

33、下一步对手就会照您的思路下子来防守您,如此一来便完成了第一步的猜 测。这时再调用模块4对猜测后的棋进行盘面分析,假如出现了 四三、双三或双 14辽宁工程技术大学毕业设计(论文)四等制胜点,那么己方就可以获胜了(当然对黑棋而言双三、双四是禁手,在这 里不设禁手);否则照同样的方法向下分析,就可猜测出第二步、第三步等一等,要 是盘面上没有对手必须防的棋型,哪该怎么办呢?进攻不成的话就得考虑防守了,将自己 和对手调换一下位置,然后用上面的方法来猜测对手的棋,这样既可以防住对手巧妙的攻 击,又能侍机发动反击。(6)胜败判定:务须多言,某方形成五子连即获胜;若黑棋走出双三、双四 或长连即以禁手判负。4.

34、2总体结构设计结构化是总体设计的指导思想,结构化系统设计是新系统开发的一个重要内容,是结 构化系统分析和结构化程序设计之间的接口过程。结构化系统设计技术是结构化程序设计 思想的基础上,发展起来的一种用于复杂系统结构设计的技术,它运用一套标准的设计准 则和工具,采用模块的方法,进行新系统控制层次关系和模块专人分解设计,把用数据流 程图表示的系统逻辑模型转变为用HIPO图或控制结构图表示的系统层次模块结构,以及 用流程图或伪码表示的程序模块结构。结构化系统设计的核心是模块分解设计,模块化显 著提高了系统的可修改性和可维护性,同时,为系统设计工作的有效组织和控制提供了方 便条件。结构化设计的任务就是

35、要根据数据流程图来建立系统结构图,用系统结构图来描 述系统分层次的模块结构以及模块之间的通信和控制关系。本系统应用一套标准设计准则和工具,把系统分析阶段得出的系统逻辑模型扩展和优 化处理,在数据流程图的基础上构成系统的模块结构。这一阶段通常采用结构化程序设计 方法,即SD(Struc tured Design)方法。采用模块化自顶向下设计方法,进行新系统控制 层次关系和模块分解设计,显著地提高了系统的可维护性和可修改性,同时为系统设计的 有效组织提供了方便。4.3系统功能模块设计本系统主要实现以下几个功能:用户管理的注册和登录,游戏类型的选择,游戏过程+的悔棋和认输,用户游戏信息的记录和排行。

36、15胡静:五子棋游戏开发五子棋游戏图4-1系统的HIPO图Figur4-1 Diagram of systems HIPO系统功能模块功能:1)用户管理:用户注册与登录管理2)游戏模块:开始游戏,可以进行游戏类型的选择,在游戏过程中可以悔棋和认输3)开始模块:游戏的开始4)悔棋模块:可以取消放置错误的棋子5)认输模块:在游戏过程中,可以选择结束本局游戏4.3.1模块IP0图系统的功能模块为控制模块的完成具体功能的操作模块。可用HIPO为对系统结构进 行说明。HIPO图是描述输入、处理、输出的图形工具,实际上是一张图形化的表格,描述 层次图是每一个模块的输入、输出关系,处理内容,本模块的数据和模

37、块间的调用关系,是系统设计的重要成果,是系统阶段编制程序设计任务书的进行程序设计的出发点和依据 川。根据系统的功能和系统结构设计的原则,进行系统的IP0图设计。16辽宁工程技术大学毕业设计(论文)001编号P1模块处理信息被调用 调用五子棋游戏Pl.l,P1.2输入输出用户信息有效的用户信息处理用户信息添加,查询002编号P2模块游戏被调用 调用五子棋游戏P2.1,P2.2输入输出有效的用户信息游戏信息处理游戏类型选择,下棋,悔棋,认输003编号P1.1模块注册被调用 调用P1无输入输出用户信息用户信息处理用户信息的添加17胡静:五子棋游戏开发004编号P1.2模块验证用户信息被调用 调用P1

38、无输入输出用户信息有效的用户信息处理验证登录的用户信息是否有效005编号P2.1模块人机对弈被调用 调用P2.1无输入输出人机对弈类型游戏信息处理用户与电脑对弈006编号P2.2模块人人对弈被调用 调用P2无输入输出人人对弈类型游戏信息处理两个棋手之间的对弈18辽宁工程技术大学毕业设计(论文)5详细设计详细设计的目标不仅仅是逻辑上正确地实现每个模块的功能,更重要的是设计的处理 过程应该尽可能简明易懂,详细设计阶段的任务还不是具体的编写程序,而是要设计出程 序的“蓝图”,以后根据这个蓝图编写出实际的程序代码。5.1登录 模块详细设计5.1.1 登录模块功能登录模块用来验证用户的合法性,防止非法用

39、户进入游戏。5.1.2 登录模块程序流程图图5-1用户登录流程图Fig.5-1 Diagram of system proc ess5.1.3 用户注册流程图19胡静:五子棋游戏开发图5-2用户注册流程图Fig.5-2 Diagram of User register proc ess5.1.4 登录模块的界面设计取消登录注册图5-3用户登录界面Fig.5-3 Interfac e of user login5.2游戏模块详细设计5.2.1 用户进入游戏流程在用户登录游戏过后,可以看见界面上有游戏类型选择按钮开始,点击按钮可以选择 游戏类型。游戏类型确定后进入游戏界面,在这个过程中程序初始化了

40、棋盘,即在数据库 中初始化了棋盘上的所有棋子。20辽宁工程技术大学毕业设计(论文)5.2.2 用户玩游戏流程在用户进入游戏界面时,本款游戏已经开始,用户先下子,根据棋盘上方的提示进行 就可以了,只要鼠标点击方框即可下子,本游戏是事件驱动。1)具体的流程如图。Fig.5-4 Diagram of system proc ess21胡静:五子棋游戏开发5.2.3游戏界面设计开始悔棋棋盘认输游戏类 型选择图5-5游戏界面Fig.5-5 Interfac e of game22辽宁工程技术大学毕业设计(论文)6编码6.1编码介绍所谓编码就是把软件设计结果翻译成用某种程序设计语言书写的程序。作为软件工程

41、 过程的一个阶段,编码是对设计的进一步具体化,因此,程序的质量主要取决于设计的质 量。但是,所选用的程序设计语言的特点及编码风格也将对程序的可靠性、可读性、可测 试性和可维护性产生深渊的影响网。6.2编码的特点1)语言简洁、紧凑、使用方便、灵活。2)语法限制不太严格,程序自由度大。3)程序执行效率高。6.3开发工具简介Visual Studio 2010版本于2010年4月12日上市,其集成开发环境(IDE)的界面 被重新设计和组织,变得更加简单明了。Visual Studio 2010同时带来了 NET Framework 4.0、Mic rosoft Visual Studio 2010

42、CTP(Community Tec hnology Preview-CTP),并 且支持开发面向Windows 7的应用程序。除了 Mic rosoft SQL Server,它还支持IBM DB2 和Orac le数据库。6.3.1 软件的特点(DC#4.0中的动态类型和动态编程;多显示器支持;(3)使用 Visual Studio 2010 的特性支持 TDD;(4)支持 Offic e;(5)Quic k Searc h 特性;(6)C+Ox新特性;(7)IDE 增强;(8)使用 Visual C+2010 创建 Ribbon 界面;23胡静:五子棋游戏开发新增基于.NET平台的语言F#

43、;6.3.2 Mic rosoft Ac c ess 2013 的特性1)构建应用程序使用SharePoint服务器或Offic e 365网站作为主机,您将能够生成一个完美的基 于浏览器的数据库应用程序。在本质上,Ac c ess应用程序使用SQL Server来提供最佳性 能和数据完整性。在启动屏幕上,单击“自定义Web应用程序”。2)表模板使用预先设计的表模板来将表快速添加到您的应用程序。如果您要跟踪任务,则搜索 任务模板并单击所需的模板3)外部数据可从Ac c ess桌面数据库、Mic rosoft Exc el文件、ODBC数据源、文本文件和 SharePoint列表导入数据。4)自

44、动创建的用户界面包括导航Ac c ess应用程序无需您构建视图、切换面板和其他用户界面(UI)元素。表名称显示 在窗口的左边缘,每个表的视图显示在顶部。5)操作栏每个内置视图均具备一个操作栏,其中包含用于添加、编辑、保存和删除项目的按钮。您可以添加更多按钮到此操作栏以运行您所构建的任何自定义宏,或者您也可以删除您不 想要用户使用的按钮。6)更易于修改视图应用程序允许您无需先调整布局,即可将控件放到您所需的任意位置。您只需拖放控 件即可,其他控件会自动移开以留出空间。7)属性设置标注您无需在属性表中搜索特定设置,这些设置都方便地位于每个分区或控件旁边的标注 内。8)处理相关数据的新控件相关项目控

45、件提供快速列出和汇总相关表或查询中的数据的方法。单击项目以打开该 项目的详细信息视图。9)自动完成控件24辽宁工程技术大学毕业设计(论文)自动完成控件可从相关表中查找数据。它是一个组合框,其工作原理更像一个即时搜 索框。10)钻取链接钻取按钮可让您快速查看相关项目的详细信息。Ac c ess应用程序处理后台逻辑以确 保显示正确的数据。11)新部署选项权限改进,更好地控制谁能修改您的应用程序。创作者可更改数据,但无法更改设计;读者只可读取现有数据。6.4游戏界面设计1、登录界面图6-1游戏登录界面Fig.5-2 Diagram of User register2、棋盘25胡静:五子棋游戏开发图6

46、-2棋盘Fig6-2 Diagram of c hessboard3、人机对弈界面图6-3人机游戏界面Fig.6-3 Diagram of the game of P to C4、人人对弈界面26辽宁工程技术大学毕业设计(论文)图6-4人人游戏界面Fig.6-4 Diagram of the game of P to P6.5源程序清单(见附录c)27辽宁工程技术大学毕业设计(论文)7系统测试7.1 测试的任务及目标7.1.1 测试的任务在软件投入生产性运行之前,尽可能多地发现软件中的错误。7.1.2 测试目标1)测试的目的是为了发现程序中的错误而执行程序的过程。2)好的测试方案是极可能发现迄

47、今为止尚未发现的错误的测试方案。3)成功的测试是发现了到今为止尚未发现的错误的测试。7.2测试方案设计测试方案是测试阶段的关键技术问题。所谓测试方案包括预定要测试的功能。应 该输入的测试数据和预期的结果,目标是设计一组可能发现错误的数据。测试有两种方法:黑盒测试和白盒测试。黑盒测试又称为功能测试,在程序接口进行,只检查程序功能是否能够按照规格说明 书的规定正确使用,程序是否能适当地接收输入数据并发生正确的输出信息,而且要能够 保持外部信息的完整性。白盒测试又叫结构测试,完全了解程序的结构和处理过程,这种方法按照程序内部的 逻辑测试程序,检验程序中每条通路是否都能按照预定要求正确工作闻。本系统开

48、发过程进行的测试步骤如下:7.2.1模块测试也叫单元测试,目的是保证每一个模块作为一个单元能正确运行,本测试所发现 的往往是编码和详细设计的错误,主要评价模块的下述五个特点:1)模块接口;2)局部数据结构;3)重要的执行路径;4)出错处理通路;5)影响上述各方面特性的边界条件。28辽宁工程技术大学毕业设计(论文)7.2.2集成测试包括系统测试和子系统测试。集成测试是组装软件的系统技术,主要目标是发现与接 口有关的问题。集成测试有两种方法:非渐增式和渐增式,但比较而言,渐增式方法比较 好,因为:1)编写的测试软件较少,开销较小。2)较早地发现模块间的接口错误。3)错误位置容易判断。4)测试更彻底

49、。5)因此,本系统集成测试采用渐增式测试中的混合法,即对软件结构中较上层使用自 顶而下的测试方法,而对软件结构中较下层,使用的是自底向上方法,两者结合,这是对模块较多时测试的一种折衷方法。7.2.3验收测试这一步是验证软件的有效性。目的是向未来的用户表明系统能够预定的那样工作,验 收测试一般使用黑盒测试法,验收测试有两种可能的结果。功能和特性与用户的要求有差距。功能和性能与用户要求一致,软件是可以接受的。这个阶段发现的问题往往和需求分析阶段的差距有关。7.2.4平行运行所谓平行运行就是同时运行。新开发出来的系统和将被它取代的旧系统,以便比较新 旧两个系统的处理结果。目的有:1)可以在准生产环境

50、中运行新系统而有不冒风险;2)用户能有一段熟悉新系统的时间;3)可以验证用户指南和使用手册之类的文档;4)能够以准生产模式对新系统进行全负荷测试,可以用测试结果验证性能指标。7.3测试用例29胡静:五子棋游戏开发测试用例1:测试模块测试方案输入数据预期结果测试结果登录 模块 测试输入正确的用户名 和正确的密码输入:用户名:aa 密码:aa登录成功,进入系 统登录成功,进入系 统输入正确的用户 名和错误的密码输入:用户名:aa 密码:123456提示“用户名或密 码错误,请重新输 入”提示“用户名或密 码错误,请重新输 入”输入错误的用户 名和正确的密码输入:用户名:admin 密码:aa提示“

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 行业资料 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服