




已阅读5页,还剩24页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
xx 大学 xx 学院 本科生毕业设计(论文)本科生毕业设计(论文) 题 目: 用 java 实现五子棋网络对战系统 姓 名: xxxx 学 号: xxxxx 系 别: 计算机工程系 专 业: 计算机科学与技术 年 级: xxx 级 指导教师: xxxx 2013 年 6 月 23 日 ii 独创性声明独创性声明 本毕业设计(论文)是我个人在导师指导下完成的。文中引用他人研究 成果的部分已在标注中说明;其他同志对本设计(论文)的启发和贡献均已 在谢辞中体现;其它内容及成果为本人独立完成。特此声明。 论文作者签名: 日期: 关于论文使用授权的说明关于论文使用授权的说明 本人完全了解福州大学至诚学院有关保留、使用学位论文的规定,即: 学院有权保留送交论文的印刷本、复印件和电子版本,允许论文被查阅和借 阅;学院可以公布论文的全部或部分内容,可以采用影印、缩印、数字化或 其他复制手段保存论文。保密的论文在解密后应遵守此规定。 论文作者签名: 指导教师签名: 日期: i 用 java 实现五子棋网络对战系统 摘要 现代科学技术正在迅猛的发展着,计算机信息技术在其中发挥着巨大的作用。在此 背景下,java 已经从一种与平台无关的编程语言演变成一种跨平台的服务器端技术,同 时 java 也成了最常用的语言之一。对比 c+语言,java 语言更加简单,java 语言更加容 易理解,也没那么容易出错,它的语法结构让人看起来更加简洁清楚。此外 java 语言相 对比较晚出现,它在面向对象和多线程特性上相对其他计算机语言有了很大的进步,而 且在 java 语言中比较容易实现算法,可以大大缩短了我们编写程序的时间,同时写出来 的 java 代码也比较容易得到复用和移植。基于以上优点,本文采用 java 语言实现一款 五子棋网络对战系统。此次游戏设计采用 eclips 作为开发环境,运用了最传统的游戏规 则,即出现连续五颗相同颜色的棋子则获得胜利。并且只需用鼠标点击就可以实现这个 游戏所有操作:开始游戏、落子、投降、求和。这种设置老少皆宜,让所有的人都可以 无障碍的玩这游戏,并配合简洁的游戏界面,让玩家体验到五子棋的趣味性。 关键词:java,五子棋,对战系统 ii backgammon online play system with java abstract with the development of modern technology of science, the computer information technology plays an important role in it. under this situation, java has changed from a shapeless programming language to cross-platform sever-side technology. at the same time, java has become the one of most commonly used language. contrasting to c + +, java language is more simple, more easily understood and not so easy to make mistakes. its grammatical structure is seen to be more concise and clear. in addition, java language relatively late to appear on the characteristics of object-oriented and multi-threaded, it has been great progress relative to other computer languages, and the java language relatively easy to implement the algorithm can greatly shorten the time of our program, while write out java code reuse is relatively easy to get and transplantation. therefore, because of the advantages of java language, so i chose to use java language to compile the game. the game design eclipse as the development environment, the use of the traditional rules of the game, the consecutive win five of the same color pieces. and only a mouse click you can achieve this game all operations: start the game, lazi, surrender, summation. this setting all ages, so that all people can play this game accessible,and with a simple background picture, allowing the player to experience the gobang fun. key words: java,gobang,battle system iii 目 录 第 1 章 绪论 .1 1.1 研究背景 1 1.2 研究意义 1 1.3 课题的内容 1 1.4 论文组织结构 2 第 2 章 相关技术介绍 .3 2.1 开发工具 3 2.2 开发语言 3 2.3 游戏引擎 4 第 3 章 系统框架 .6 3.1 游戏的基本流程 6 3.2 游戏中主要的类及类的功能 7 3.3 游戏说明 7 3.3.1 行棋顺序.7 3.3.2 判断胜负.7 3.3.3 游戏操作说明 8 3.4 游戏资源与架构 8 第 4 章 关键技术及主要功能的具体实现 .9 4.1 概要设计说明 9 4.2 界面实现.9 4.2.1 服务器界面.9 4.2.2 登录界面.9 4.2.3 大厅界面10 4.2.4 游戏界面11 4.2.5 游戏结果界面11 4.2.6 游戏界面的实现 .12 4.3 功能模块 .13 4.3.1 服务端实现13 4.3.2 客户端实现13 4.3.3 五子棋游戏功能的实现 .14 第 5 章 软件测试 17 iv 5.1 软件测试方案 .17 5.2 软件功能测试 .17 结论 .19 参考文献 .20 谢辞 .21 用 java 实现五子棋网络对战系统 1 第 1 章 绪论 1.1 研究背景 在当代,计算机的技术不断的发展,网络这一技术普及范围也越来越广,网络已经 应用到了世界的各个角落,它为人们提供各种各样的服务,让人们的生活更加的丰富多 彩,甚至不知不觉中已经成为人们生产中不可少的部分,与此同时,在网络普及的过程 中,游戏也在逐渐得到人们的认同。如今网络休闲游戏凭借着其健康、方便、益智等优 点迅猛的发展着,也因此各大游戏对战平台层出不穷,比如大家耳熟能详的 qq 对战平台。 这些游戏已经成为了大部分现代人休闲娱乐的重要部分。 1.2 研究意义 java 是一门经过充分发展,比较成熟的语言,java 语言在企业级应用称霸这些年念 头,已经充分证明了它非常适合于开发大型软件。当 java 的运行效率不再是问题的时候, java 语言严谨、高抽象、可读性强的优势就体现出来了。这对于规模越来越庞大的游戏 软件来说,有着不小的诱惑1。它拥有一套属于自己的庞大并且较为完善的类库,内置 了其他语言需要靠库甚至是操作系统才能支持的功能,总而言之, java 语言的出现带给了 整个业界巨大的冲击,为整个 it 业带来深远的影响。java 产生与流行是 internet 发展的 客观要求;java 可以制作大部分网络应用程序系统,而且与如今流行的 www 浏览器结合很 好;它是一种区别于传统系统,遵守“网络就是计算机“信条的平台技术2。 计算机的普及,以及网络的发展使得网络游戏的需求日益增长,同时作为传统游戏 的五子棋,因为它本身所具有简单方便等特点,使得它在世界各地都有大量的玩家。 基 于 c/s 模式使用 java 语言开发的五子棋网络对战系统,将五子棋游戏移植到到网络对战 平台当中无疑非常适应现代的潮流,与我们的娱乐理念相吻合,而且我相信开发游戏对 战系统具有很强的可操作性,也有很大的空间。 1.3 课题的内容 本课题设计实现了五子棋网络对战系统。通过简单的登录,玩家可以进行五子棋对 战。在游戏中,本着先排队先开始的原则,让最先进入游戏的玩家最先找到游戏对手, 以此减少玩家的等待时间。在游戏中,玩家如果想退出,则可以通过点击投降或者求和 的按钮来结束游戏,其中求和需要对方玩家的同意。如果玩家分出了胜负,系统会提示 胜负信息,点击确定按钮,则退出游戏,状态由“游戏中”变成“空闲中” 。 福州大学至诚学院本科生毕业设计(论文) 2 1.4 论文组织结构 本文描述的是用 java 开发的五子棋对战系统,共分为 5 章: 第 1 章:先是介绍了用 java 开发五子棋网络对战系统的研究背景,研究利用 java 语 言开发游戏的意义,然后对玩游戏的流程的内容进行基本的介绍,最后介绍了本文各个 章节的组织结构。 第 2 章:先介绍了本系统所用到的开发工具eclipse,然后分析了开发语言 java 的特 点,最后简要的介绍了这次系统所用到的游戏引擎 gameengine。 第 3 章:先介绍了游戏的基本流程,然后用列表的形式来介绍游戏中所用到的类及 类的功能,接着对游戏进行说明,最近简述了游戏的资源和构架。 第 4 章:先简述了游戏概要设计说明,然后对游戏的各个界面进行介绍,最后对游 戏的功能模块实现进行介绍并解释关键代码。 第 5 章:先简要说明了软件测试的方案,然后利用表格的形式对软件进行测试并说 明结果 在论文的末尾,我对该五子棋网络对战系统的设计过程所遇到的一些问题进行了总 结。 用 java 实现五子棋网络对战系统 3 第 2 章 相关技术介绍 2.1 开发工具 本课题采用的开发工具是 eclipse。eclipse 是一个开放源代码的、基于 java 的可 扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开 发环境。幸运的是,eclipse 附带了一个标准的插件集,包括 java 开发工具(java development kit,jdk)3。 在本次五子棋对战系统中,设计对话框时我用到了 java 其中的一种叫 swing 的插件, swing 是一个用于开发 java 应用程序用户界面的开发工具包。它以抽象窗口工具包 (awt)为基础使跨平台应用程序可以使用任何可插拔的外观风格4。当我们在使用 swing 开发时,只要通过 swing 的功能就可以大大减少我们的代码量,达到事半功倍的效 果,同时还可以丰富我们所创建的用户界面。其中使用 swing 创建图形界面时需要这些 步骤:首先导入 swing 包,然后选择界面风格,也可以插入我们所需要的图形,在对话 框中添加所需要的按钮和标签等,然后再将组件放置到容器上,最后设置好按键的功能, 这样基本就完成了 swing 的使用。 2.2 开发语言 自 1995 年 sun microstems 公司推出 java 以来,人们不断挖掘 java 编程系统的潜 力,直到现在已经得到了全世界的认可5. java 编程语言是一种通用的,并发的,阶级 基础,面向对象的语言6。它与一般的编译语言和直译语言有着很大的区别。它首先将 源代码编译成字节码,然后利用各个不同平台上的虚拟机来解释那些执行字节码,从而 实现了“一次编译、到处执行”的跨平台特性。java 技术的应用非常广泛,小到个人 pc、移动电话,大到互联网、科学超级计算机等等。从整体上来说,java 编程语言的风 格与 c+语言有一些相似之处。它继承了 c+语言面向对象技术的核心,java 舍弃了 c+ 语言中容易引起错误的指針,改以引用取代,同时移除原 c+与原来运算符重载,也移除 多重继承特性,改用接口取代,增加垃圾回收器功能。具体来说,它具有如下特性: (1)java 这门语言简单好学,也非常的好用。java 语言是在 c 与 c+计算机语言的 基础上进行简化和改进的一种新型计算机语言,它去除掉了 c 和 c+中最难理解的多重继 承技术和最难正确应用的指针等内容7。用过 c+的开发游戏的程序员都知道,内存管理 是最容易出错误的地方,申请的内存用完以后必须释放,要不然慢慢的可使用的内存资 源会越变越少,直到耗尽系统资源后会导致死机。但 java 能通过垃圾自动回收机制简化 福州大学至诚学院本科生毕业设计(论文) 4 了程序内存管理,统一了在不同操作系统平台上不同的数据类型所占用的内存大小的标 准,毫无疑问这对于编程来说有着相当大的用处的。 (2)基于对象的编程很符合程序员的思维模式习惯,让我们在编写程序时显得更加得 心应手。java 语言与其它面向对象语言一样,引入了类的概念,类是用来创建对象的模 板,它包含被创建的对象的状态描述和方法的定义8。 (3)每当比较 java 与其他语言的时候,跨平台总是被人们提及到,因为这是 java 一 个非常重要的特点。由于它采用先编译成中间码,然后装载与校验,再解释成不同的机 器码来执行, “屏蔽”了具体的“平台环境”特性要求,正因为这样,只要能支持 java 虚拟机,那么就可运行各种 java 程序9。java 系统可以运行在不同的操作系统和硬件上。 由于 java 的跨平台,java api 自然也是平台统一的。我们只要拿 java api 与 c+的类 库相比便可以知道它的可贵之处。因为对于程序员而言,统一的 api 函数能够让他们减 轻负担,就可以省略掉其中一些不必要的麻烦。 (4) java 相对来说比较安全,经常使用网络的人通常都有一个担心,生怕网络上的 各种有毒网站以及各种盗取私人文件的钓鱼网,甚至是下载到含有恶意代码的文件,他 们会破坏我们的计算机系统。但是当我们使用支持 java 的浏览器时,我们就可以放心地 运行 java 的小应用程序 java applet ,不必担心异常状况,因为我们可以确保在网络上 运行的 java 程序都是符合网络安全协议的。java 小应用程序将限制在 java 运行环境中, 它不会访问或修改不允许访问的内存或文件。 (5) 类是 java 程序的基本组成单元,其中一部分类是我们自己编写的,一部分是 引用类库中的,而类是运行时动态才进行装载的,这就使得 java 可以在分布环境中动态 地维护程序及类库。 (6)在操作系统中,进程和线程是两个非常重要的基本概念。在执行过程中,进程 有自己独立的内存空间和系统资源,并且各个进程的内存数据和状态彼此之间并无相关, 类似于管道的方法,通过特定的通信机制来完成交换数据。线程是在进程中产生的一种 轻负荷进程,线程在执行过程中共享一块内存空间和一组系统资源,因此线程之间可以 直接进行数据交换10。 2.3 游戏引擎 游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程 序的核心组件,这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于 让游戏设计者能容易和快速地做出游戏程式而不用由零开始,大部分都支持多种操作平 台,如 linux、mac os x、微软 windows。游戏引擎主要是包含以下系统:渲染引擎(即 “渲染器” ,含二维图像引擎和三维图像引擎) 、物理引擎、碰撞检测系统、音效、脚本 用 java 实现五子棋网络对战系统 5 引擎、电脑动画、人工智能、网络引擎以及场景管理11。 本课题五子棋网络对战系统所使用的游戏引擎为 gameengine,有较强的实用性,简 单易学,非常方便。它是由福大师生自主研发设计的一款游戏引擎工具,由本人的导师 提供。 福州大学至诚学院本科生毕业设计(论文) 6 第 3 章 系统框架 3.1 游戏的基本流程 本游戏运用了 c/s 模式,在游戏开启服务端后,我们需要点击“启动”按键,这样 才可以连接服务端,登录客户端后,我们要进行填写昵称,然后登陆游戏,接着再点击 “寻找对手”按键就可以进入等待排队状态,只要出现也在等待的对手,就可以进入游 戏,开始游戏,如果玩家想要放弃棋局则可点击投降来结束比赛,亦或者发现棋局将以 和棋为结局,则可点击“和棋”按钮来结束比赛。如果比赛正常结束,则系统将会出现 胜负的提示。图 3-1 为下五子棋的流程。 和棋 用 java 实现五子棋网络对战系统 7 图 3-1 游戏流程 3.2 游戏中主要的类及类的功能 表 3-3 中介绍了游戏中所用到的主要类,和各个类所实现的功能及实现所用的方法。 表 3-3 主要类表 主要类名实现功能 实现的方法 client服务端和客户端的连接connect(),processmsg(string msg) gd定义全局数据无 hallframe绘制大厅界面hallframe(),run() loginframe绘制登陆界面loginframe(),run() qiju五子棋判定算法init(),isempty(int col,int range), putqz(int col,int range), isfivelink(int qzcolor,int col,int range) 福州大学至诚学院本科生毕业设计(论文) 8 wzgameui绘制棋盘wzgameui(),show(),drawqpline(graph graph), drawqz(graph graph), drawplayerinfo(graph graph), isvalidsetpoint(int x,int y) clientthread客户端通信clientthread(socket s), send(string str), void run() match寻找对手tomatch(clientthread c) serverthread服务器端主线程run(),closeserver() wzserver服务端界面main(string args), wzserver() 3.3 游戏说明 3.3.1 行棋顺序 (1)进入游戏后,玩家一会被绑定为黑棋,玩家二会被绑定白棋。 (2)玩家一即黑棋方先手,玩家二后手,一个人一次只能下一个棋子,直至分出胜 负为止。若棋盘下满还没有玩家实现五子连珠,则判定双方为和棋。 3.3.2 判断胜负 (1)如果其中一个玩家能最先在棋盘水平方向、竖直方向、45 度斜方向形成连续的 相同颜色的五个棋子,则此玩家为胜利的一方,另一玩家为失败的一方。 (2)如果棋盘下满了还不能分不出胜负,或者其中一个玩家可以点击“求和” ,同 时另一玩家点击“同意” ,则定为平局。 如果另一玩家点击“不同意” ,则双方继续游戏。 (3)如果其中一个玩家点击投降,则判定为输家,另一个玩家为胜方。 3.3.3 游戏操作说明 在点击服务端界面中的“开启”按钮后,各个玩家都需要在客户端填写自己的昵称, 然后才可以进入大厅,接着如果想要开始游戏则需点击“寻找对手”按钮,如果不想玩 则点击“离开大厅” ,匹配到对手后就可以开始与其他玩家对战了,先进入游戏的玩家执 黑棋先手,后进入游戏的玩家执白棋后手,游戏中如果其中一个玩家的棋子在同一水平 或者垂直或者斜着连续五个串在一起,则判定胜负,如果玩家点击“求和”的按钮,系 统会自动判定双方和棋,如果某一玩家点击“投降”按钮,则系统判定他为负方,游戏 用 java 实现五子棋网络对战系统 9 直接结束。 3.4 游戏资源与架构 本游戏程序架构主要包含代码、图片资源。具体内容如下: 代码: 编写的 java 代码放置于工程文件中/ src 文件夹下。 图片资源: 图片都是 png 格式文件或 bmp 格式文件,放置于/ img 文件夹中。 福州大学至诚学院本科生毕业设计(论文) 10 第 4 章 关键技术及主要功能的具体实现 4.1 概要设计说明 本游戏程序主要包含服务端界面、登录界面、大厅界面、游戏界面、游戏结果界面。 4.2 界面实现 4.2.1 服务器界面 服务器界面:其中包含了启动服务和关闭服务两个按键,如果不启动服务,服务端和 客户端就不会连接,这样游戏也无法开始。 图 4-1 服务器界面 4.2.2 登录界面 游戏登录界面:在这个界面,玩家需要填写自己的昵称,之后才可以登录游戏,如果 昵称一栏为空就点击登录游戏会出现错误提示。 图 4-2 登录界面 用 java 实现五子棋网络对战系统 11 图 4-3 登陆错误提示 4.2.3 大厅界面 服务端大厅:这个窗口会显示玩家的当前状态信息,登录成功后系统会默认玩家为 空闲状态,点击“寻找对手后” 变成等待游戏状态,玩家如果不想游戏,则点击“离开 大厅” ,退出服务器。 图 4-4 大厅空闲状态界面 福州大学至诚学院本科生毕业设计(论文) 12 图 4-5 等待队列状态界面 4.2.4 游戏界面 游戏界面:主窗体、用户信息(自己) 、用户信息(对方) 、投降按钮、求和按钮。 游戏中会显示玩家昵称及先后手情况,点击“投降”按钮则结束游戏对战,点击“求和” 按钮需要对方玩家的同意才能和棋,对方玩家不同意则玩家会继续正常游戏。 图 用 java 实现五子棋网络对战系统 13 图 4-6 游戏棋盘界面 4.2.5 游戏结果界面 游戏结束界面:不管玩家的输赢,系统都会有游戏结果的提示。点击其中的“确定” 按钮,玩家就会回到游戏大厅。 图 4-7 游戏结束后赢的界面 图 4-8 游戏结束后输的界面 4.2.6 游戏界面的实现 在游戏界面中,首先导入棋盘的背景,然后对棋盘位置进行设置,代码如下: int qptop=10; 福州大学至诚学院本科生毕业设计(论文) 14 int qpleft=160; /棋盘左上角位置 int cellwidth=50; /棋盘格子宽度 然后利用游戏引擎 gameengine 来设置 “投降”与“求和”这两个按钮: mb.addbutton(new rectangle(10,100,70,50), “投降“, 0); mb.addbutton(new rectangle(10,200,70,50), “求和“, 1); 接着绘制棋盘背景: graph.drawimage(bk,0,0,1024,768); 再接着绘制棋盘上的线: graph.getgraphic().drawline(qpleft, qptop+cellwidth*i, qpleft+cellwidth*14, qptop+cellwidth*i); /画横线 graph.getgraphic().drawline(qpleft+cellwidth*i, qptop, qpleft+cellwidth*i, qptop+cellwidth*14); /画纵线 绘制玩家信息: drawplayerinfo(graph); 绘制棋子: int x=qpleft+cellwidth*i-25; int y=qptop+cellwidth*j-25; 4.3 功能模块 4.3.1 服务端实现 服务端的作用是对数据进行转发,是客户端数据进行交互的枢纽,主要是应用了 java 通讯技术 socket 中的 serversocket 对象,以下几点为服务端的详细功能: (1)服务端实现的服务的开启功能:其中开启功能主要是通过端口号去 new 一个 serversocket,假设开启监听的端口号是 5555,则创建语句为: serversocket server=new serversocket(5555); thread thread=new thread(server); thread.start(); 如果以上语句执行没有异常,则说明服务开启成功。 (2)服务端实现的服务的关闭功能:实现调用的是 socket 函数中的 close()方法, 用 java 实现五子棋网络对战系统 15 如 server.close(),如果执行没发生异常,则说明服务关闭成功。 (3)服务端的主线程: serversocket ss=null; boolean isrunning=false; vector clients=new vector(); 然后建立套接字,接着服务端与客户端建立连接,运行与客户端通信的相关线程, 其中每一个客户端连接都对应了一个线程,负责与客户端之间的通信。 (4)服务端获取了客户端发送来的信息,并处理这些消息: while(cont) string str = dis.readutf(); processmsg(str); 4.3.2 客户端实现 客户端提供了用户昵称填写和登陆游戏,同时让玩家选择进入等待队列进行匹配对 手,最后进行游戏对战,并且显示服务端发送过来的对手昵称。具体功能实现如以下几 点: (1)客户端连接: socket=new socket(““,5555); cont = true; recvthread=new recvthread(); recvthread.start(); 其中的端口号必须与服务端创建时候的端口号一致。 (2)客户端断开连接: cont=false; state=0; dos.close(); dis.close(); socket.close(); (3)客户端发送信息给服务端: dos.writeutf(str); (4)将玩家注册的昵称这个信息发送给服务器: public void login(string name) 福州大学至诚学院本科生毕业设计(论文) 16 /发送信息给服务器 send(“name“+name); state=hall_idle; 4.3.3 五子棋游戏功能的实现 (1)玩家先手的设置,游戏设置的先手的玩家为黑棋一方,当玩家点击匹配对手后, 首先进入的玩家绑定到房间的玩家 1,绑定了黑棋,后者则为玩家 2,绑定白棋,实现过 程如下: public static boolean firsthand=false; private void drawplayerinfo(graph graph) string player1; string player2; if(gd.firsthand) player1=gd.name+“(先手执黑)“; player2=gd.opponentname+“(后手执白)“; else player1=gd.name+“(后手执白)“; player2=gd.opponentname+“(先手执黑)“; (2)下棋禁手实现:在双方玩家都点击“寻找对手”的时候才能进行游戏,根据系 统的判定谁先点击“寻找对手”谁先手的原则,之后双方游戏都进入“game”状态。 public static boolean firsthand=false; public void setfirsthand(boolean first) /设置先后手,并进入游戏状态 firsthand=first; state=game; if(firsthand) send(“firsthand“); else send(“backhand“); 用 java 实现五子棋网络对战系统 17 (3)在棋盘中,任意一个格子都只可能是三种状态,其中 1 为黑子,2 为白子,0 为无子状态。如果出现无子状态的情况下则可落子: public boolean isempty(int col,int range) if(qjcolrange=0) return true; else return false; (4)游戏胜负的判断:判断时,要同时考虑到八个方位同一颜色的棋子是否实现五 子连珠,具体是:水平往右,水平往左,垂直向上,垂直向下,斜右下,斜左下,斜右 上,斜左上。以横向为例,每下一步棋,则 sum=1,然后从左往右数,判断下一格的棋子 是否与刚落下的棋子的颜色相同,相同则 sum+1,不同则开始从右往左数,相同颜色则 sum+1,不同则停止,在这过程中如果出现 sum=5,则落子的玩家为胜方,代码如下: public boolean isfivelink(int qzcolor,int col,int range) /判定落子是否构成五子相连,qzcolor 为棋子颜色 /横向 int sum=1; int x=col+1; int y=range; if(x=15)break; x=col-1; if(x=0) while(qjxy=qzcolor) sum+; x-; if(x=5)return true; 用 java 实现五子棋网络对战系统 19 第 5 章 软件测试 5.1 软件测试方案 软件测试就是根据相应需要测试的软件的具体情况来设定测试方案和流程,然后利 用测试工具对产品进行功能以及性能的测试,如果找不到合适的测试工具,设计和维护 测试系统,甚至需要自己来编写程序对测试方案中可能出现的问题进行分析和评估。测 试的每一个步骤中如果发现问题,我们应及时进行解决,修复各种漏洞,以保证客户能 够正常使用产品。 本游戏设计的是一个用 java 实现的五子棋网络对战系统,其中的细节测试在代码编 写过程中逐步完成了,这里将着重讨论系统测试以及所遇到的各种故障。 5.2 软件功能测试 表 5-1 功能测试表 序号执行操作希望得到的测试结果事实上得到的结果备注 1进入服务端大厅后点击“开 启” 客户端可以进行登录相符 2点击大厅的“关闭”按钮客户端无法进行登录相符 3填写昵称然后点击“登陆游 戏” 进入服务端大厅相符 4不填写昵称然后点击“登陆 游戏” 出现错误提示相符 5点击“寻找对手”玩家进入等待队列的状态相符 7点击“离开大厅”玩家退出大厅相符 8点击“投降”双方出现胜负提示相符 9点击“求和”对方出现是否同意和棋的提 示 相符 10点击求和对话框中的“是”对方会出现同意和棋的确定 框 相符 11点击求和对话框中的“否”对方会出现不同意和棋的确 定框 相符 12点击对方发送来的同意对话 框中的“确定” 游戏结束,出现和棋的提示相符 福州大学至诚学院本科生毕业设计(论文) 20 续表 5-1 功能测试表 序号执行操作希望得到的测试结果事实上得到的结果备注 13点击对方发送来的不同意对 话框中的“确定” 游戏继续相符 14一盘棋下完后,点击系统出 现胜负判定的消息框中的 “确定” 游戏结束并返回大厅相符 用 java 实现五子棋网络对战系统 21 结论 制作这个游戏 java 基础非常的重要,如果没有多看关于基础知识的书籍,几乎没法 完成毕业设计。由于 java 相关的知识比较复杂,在制作这游戏的过程中我遇到了非常多 的麻烦,但是也是这些麻烦让我有了学习的动力,并且在以后的日子里我也会把它当做 我的兴趣好好学习,同时与更多的人交流,应该多多借鉴他人学习知识,促进自己的成 长,让自己能够应对这些问题时得心应手。 本次的游戏设计主要实现五子棋对战,以及游戏中的登录寻找对手功能等等,其游 戏界面比较简洁得体,相信很多玩家会认为这是个不错的设计,而且这个游戏操作简单, 很容易上手,基本上适合各个年龄段的人,这个游戏只需要用到鼠标点击就能实现游戏 的整个过程,是一款不错的策略型棋类的游戏。在人们休闲的时间里玩这游戏可以放松 心情,同时也能增强思维能力。 虽然游戏的基本功能已经能够实现,不过还是有些不足,还有一些需要提高的地方。 比如可以设计人机对战,这样可以新手玩家可以通过人与电脑的对战来熟悉游戏。同时 游戏中并没有设定最正规的三三禁手等一系列规则,由于逻辑性太强,且本人水平有限, 所以未能实现。不过在未来的时间里,我一定会花更多的时间,让自己的作品更加完善。 经过几个月的毕业设计制作和论文的撰写,让我爱上了棋牌游戏,同时也让我对于 五子棋文化有了一定的了解,当然也深刻体会到了 jav
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025租房补贴借款合同书
- 2025租赁合同及注意事项
- 离职解聘协议合同范本
- 翻越浪浪山开启新学期-以《浪浪山的小妖怪》为引2025年秋季开学第一课主题教育班会-2025-2026学年高中主题班会
- 2025劳动合同未到期调动需支付合同违约金
- 停车雨棚建设合同范本
- 商场名酒搭售合同范本
- 广告的设计合同范本
- 冬建工程合同范本
- 设备安装单价合同范本
- 2025年云南省投资控股集团有限公司招聘考试笔试试题【附解析】
- 2025年留疆战士考试题库及答案
- 2025年高考英语新课标Ⅱ卷点评及2026备考方向 课件
- 2025广西专业技术人员公需科目培训考试答案
- 人教版2024年小学升学考试数学模拟测试卷(共5套)(含答案解析)
- 中航工业运营管理体系内容介绍课件
- 2009-2022历年江苏省镇江市丹阳市事业单位考试《综合知识和能力素质(计算机类岗位)》真题含答案2022-2023上岸必备带详解版3
- 工业园区消防安全标准化
- 项目造价咨询计划表
- 人教版高中化学必修一离子方程式双线桥单线桥专项练习
- 敏捷项目管理实践指南
评论
0/150
提交评论