版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
PAGE基于Android五子棋游戏的设计与实现目录470第一章引言 7224861.1Android游戏 7303801.1.1Android游戏发展趋势 788161.1.2开发Android游戏的意义 7176811.2课题背景 7206371.3我的主要工作 713868第二章项目概述与需求分析 824572.1项目概述 8227102.1.1项目开发目标 8186092.1.2项目开发意义 8222652.1.3开发工具 8122602.2需求分析 816832.2.1功能需求分析 8194652.2.2性能需求分析 827888第三章概要设计 10233493.1五子棋解释 10120773.2五子棋的基本规则 10250583.3五子棋的相关术语 10210203.4数据流图 104409第四章详细设计 1271564.1用例图 12288634.2类图 1350034.3棋盘界面设计 15146294.3.1画棋盘 1560754.3.2画棋子 1691424.3.3结束提示语显示 1674854.4核心实现代码 1623090第五章运行测试 21248075.1程序测试 21326085.2测试方法和测试用例 22104975.3测试结论 22279185.4运行效果图 223715参考文献 264097致谢 27摘要:现在,随着智能手机的的发展,以电脑技术与网络技术为核心的游戏已经在现实生活与生产中得到了广泛的使用,手机游戏已经成为多数人群的休闲方式,也是许多人所喜欢的。当然,为了满足没有网络时也能玩游戏的要求,许多小游戏也做成了单机和联机俩种模式。五子棋是一项休闲娱乐游戏,在大家间十分流行,为了掌握五子棋规则及技巧,以及学习简单的人工智能,我决定用Java语言来开发一个五子棋游戏。首要实现2种对战模式:人与电脑对战和俩名玩家之间的对战,在人机对战中通过深度搜索和估值模块,来提高AI棋手的智能,算法的研究有助于理解程序结构,增强逻辑思维能力,在其他人工智能方面也有很大的参考作用。本程序中,开发软件为eclipse,用Java开语言进行开发五子棋游戏。关键词:Android游戏五子棋第一章引言1.1Android游戏手机游戏,运行在智能手机的游戏深受玩家的喜好。此刻,Android游戏可以在智能手机运行,也可以在平板电脑上运行。1.1.1Android游戏发展趋势将渐渐走向专业化和多样化的方向,而各平台对opengl的撑持力度使得开辟庞大的3d游戏成为可能,表明更多的芯片支持Android,硬件性能将不再成为开发专业化游戏的瓶颈,使得游戏规划更加专业化。在无线网络、wifi网络、蓝牙网络等多种平台的良好支持下,游戏将创造更好的游戏玩法和用户体验,多人在线游戏、多玩家在线游戏等将强化玩家参与游戏的积极性,更简单的形成获取利润模式。通过控制设备,玩家之间的互动需求将加快游戏未来的发展。1.1.2开发Android游戏的意义伴随着Android游戏的迅速发展,Android游戏的迅速发展是不可避免的,因此Android非常受欢迎。有供给需求,游戏开发者在开源的android平台上充分发挥自己的想象力,如僵尸忍者和树系列,需要由Android的爱好者来安装。对于这么高的Android系统市场来说,为什么Android的游戏没有火起来呢?因此,我们坚信Android会越来越受欢迎,越来越多的Android游戏进入我们的视野。1.2课题背景五子棋是中国前人最早的黑白棋子之一,英语中称五子棋,只叫gobang或fil在英语中也有不同的叫法,叫五子棋、串珠、五子棋、触摸屏)。围棋来源于中国古代,在日本有发展,在欧洲也有影响。对围棋的干系,有两种说法,即围棋比围棋早。临到乐乐节,围棋产生的修辞作用是围棋发展的一个分支,在中国文化中已经很受欢迎。五子棋在欧洲流行,并在环球飞速发展。通过一系列的改变,使得游戏变得更加复杂和复杂,同时最终演变成今天的五子棋。1.3我的主要工作本开发采用Android开发工具,采用Java游戏开发,通过游戏程序的准备,我们可以结合上述知识的学习和理解。接口分为三个部分:一个是schedule类,这也是一个主要类,一个是文本类,另一个是仪表板的控制层,它会单独运行。我们可以根据我们的风格和喜好来组织它们,让整个界面更加美观和清晰。那些步骤不会影响其他组件。为了做这样的准备,你可以画五子棋和下棋,电脑在下棋时必须选择合适的位置,也就是说,每次下棋后,都要有一个控制器来判断是否可以下象棋。人们可以做尽可能多的事情,可是计算机是在那个位置计算的。它是由五子棋计算机子游戏机的算法决定的,不像游戏,它需要电脑来决定电脑在哪里,游戏机是否在哪里。必须有一种棋局,当双方决定一定要赢棋的时候,就有必要控制两个人下棋的顺序。这样,线程就会被使用,每个线程或接口都可以接收,或者使他们可以自由地接收和发送信息。第二章项目概述与需求分析2.1项目概述2.1.1项目开发目标游戏的功能很简单,但最重要的是要使用人类与智能电脑的战斗模式。从这个角度来看,虽然程序并不复杂,但为了满足玩家的基本需求,电脑具备一定的可用性,可以帮助新手。同时,通过对棋类游戏的研究,将有助于更好地将理论应用于程序设计中。2.1.2项目开发意义围棋系统的目的是让我们的学生了解并认识到java语言在编程中的重要作用。经由过程开辟这个程序,使咱们加倍精晓java编程。另外,五种简单的棋局分为垂直、垂直、水平三种形态的五种含义,然后我们需要深入研究一下坐标。此外,让我们掌握更好的开发工具,提高学生的编程能力。2.1.3开发工具eclipse软件,Java开发语言,Android2.1-update1虚拟环境。2.2需求分析2.2.1功能需求分析五子棋游戏比较简单,没有获取界面的窍门,而且主要是与机器发生冲突。它从男人开始,电脑会通过计算来地选择合适的下棋落点,并在每场比赛结束后决定哪一方是否获胜。如果它赢了,它就会结束游戏并提示玩家完成游戏,所以玩家每次在棋盘上点击鼠标,必须使棋盘出现在界面上,电脑必须立即回复,并将棋盘放在最合适的位置。因此,本程序的特色可以归纳综合以下:1.坐标是否在黑板外,否则,标记的下一个事务日志。2.检查该位置是不是有棋子,若是没有,利用类图形绘制棋子并保存棋盘。3.判断是否有五个连续块,如果是,相应的提醒玩家获胜,如果没有改变玩家并关闭事件管理监督。4.玩家可以自动切换,用户每次点击鼠标就会切换到电脑,为玩家获取相应的黑白图像。2.2.2性能需求分析利用Java开发工具在androidid2.1中开发语言——wordpress必要android-7才能让程序运行。我们还必须每次计算电脑的位置,以防止5名有机会的玩家。如果需要,用户需要掌握规则,但作为一款由用户自己设计的智能电脑游戏机,用户必须通过主要参数来控制登陆位置。图2-1表示了开发程序的环境。图2-1开发环境第三章概要设计3.1五子棋解释《辞海》中说到,五子棋是“棋类游戏,棋具与围棋不异,两人对局,轮番下子,先将五子连成一行者为胜。”。五子棋的别称:日文中有“连五子、五子连、串珠、五目、五目碰、五格、五石、五法、五联、京棋”等多种称谓,英文则称之为FIR(FiveInARow的缩写)、Gomoku(日语“五目”的罗马拼音)、Gobang、connect5、mo-rphion。捷克语piskvorky,韩语omok、韩国人还称之为情侣棋。3.2五子棋的基本规则1.下棋时,玩家先打白棋,黑棋先落在合适的位置,然后黑与白棋互相排序。2.第一次板线切割时,横向、纵向、横向、纵向的面是斜向得胜面。3.如下,直到最后,仍然是平局,不分胜负。3.3五子棋的相关术语阳线:棋盘上可见的纵横直线阴线:棋盘上无实线连接的隐形斜线五连:棋盘上形成5个同色的棋子的连活四:在棋盘某一条阳线或阴线上有同色4子不间隔的紧紧相连,且在此4子两端延长线上各有一个无子的交叉点与此4子紧紧相连冲四:除活四外的在下一招,便可形成五连,并且存在五连的可能性活三:在棋盘某一条阳线或阴线上有同色3子不间隔的紧紧相连,且在此3子两端延长线上各有一个无子的交叉点与此3子紧紧相连活二:在棋盘上,再走一步可成活三的点眠三:在棋盘上,再走一步可成冲四的点眠二:在走一步可成眠三的点3.4程序设计分析1.用14条水平直线和14条垂直竖线绘制棋盘,并将棋子放置在水平直线和垂直竖线之间的交叉点上。2.界面中的棋盘由rondue函数绘制,棋子操作参考图显示在棋盘上。3.黑白优先,连接点的边界不能设置,因此板可以设置12*12的范围。4.玩家落子之后,电脑必须判断棋盘上是否有任何位置,并在棋盘上选择最佳位置。5.每当有5个棋子在垂直或水平线上时,系统会自动决定胜负,并显示出黑色或白色棋子在游戏结束后获胜,双方均无法继续比赛。3.5数据流图五子棋游戏的主要程序流图如图3-1所示。图3-1主要程序流图第四章详细设计4.1用例图由主要角色和用例以及用例模型中的关系关系组成。缩略图的使用可以组织在示例包中,并通过案例来存储,使相关的内容只显示在特定的包中,包含参与者的缩略图、系统边界和箭头。参与者不是特定的人,而是他们所饰演的角色,或者他们与体系交互,所以参与者可以是人、事物、时候或其他体系,必要注意的是,参与者并并非指人或事物,而是指人或事物的角色。参与者在下方附有姓名的简单图画中显示,如图4-1所示。图4-1角色用例是包含系统变量的行动序列的描写,做这些行动并发生可观察到的成果,从而影响特定参与者的代价。咱们可以供给一个简略的名称,一般为一个行动词,示例是一个椭圆,在图中,利用附加在椭圆下面的示例的名称,如图4-2所示。图4-2用例系统边界为表示模拟体系的边界,内部边界代表系统的外部部分。系统边界由图形中的边框表示,并包含体系名称。参与者通过边界内的示例绘制边界外的地图。由于系统边界的作用有时是不明确的,我个人在图纸上理解。箭头通过互相传送信号或信息来表示玩家与系统之间的关系。箭头的尾部用来指示开始交互的一侧,箭头的头为开始交互的一对,示例总是从参与者开始。用例图中有三个必要功能:(1)需求;(2)测试指导;(3)随时指导其他功能。分析问题后,我们可以根据分析结果绘制示例图,因为棋子是玩家,棋子就是玩家,玩家的第一动作就是用鼠标点击棋盘来绘制五子棋。因此,五子棋的整个过程可以分为两个示例,绘制围棋界面,点击围棋鼠标,绘制围棋界面,包括绘制控制界面,绘制邮件界面和他的棋盘界面,直接使用示例模式,如图4-3所示。图4-3五子棋用例图4.2类图类图表示模型的静态布局,特别是模型的内部布局和与其他类的干系。类图不显示临时数据。类图(classdiagram)是经常使用的图表,表现了类、接口和干系的静态布局。它用于体系结构设计,描写类图最基本的元素是类或接口。类模式通常包含如下内容:类、接口、协作、关系。与其他图同样,类图可以包括描写注释和约束,类图还可以包括用于对元素举行分组的包和子系统。偶然,以后可以将类的实例放到类图中。类(Class)类一样平常有3个元素,首先是类名,其次是类图属性,表示模型的静态布局,特别是模型的内部布局,以及它们与其他类的干系。类图不显示临时数据,类图是最常用的类图。这表明类、接口和它们之间的静态布局来描写体系布局设计。类图的最基本元素是类或接口。这类图通常包含以下内容:类、连接、协作和关系。2.等级等级一般由三部分组成,第一个是类名,第二个是属性,第三个是如何提供类(类的属性可以在第四部分;第5部分会出现,如果类有内部类,则名称部分不能退出,其他部分可以退出,方法绘制类图,如图4-4所示。图4-4类3.包(Package)包是一种经常使用的组合规则。UML中的包跟Java中的包差不多。在Java中,一个包大概包括其他包、类或二者。在建模时,咱们凡是利用逻辑包来组织模型,并使用物理包将其转换为系统中的java包。每一个包的名称独一地标识该包。4.接口(Interface)接口是指定类提供的办事的操作调集。它与Java中的接口类型类似。有两种方法来表示接口。具体画法见图4-5。 图4-5接口5.关系一般关系包括一般关系、聚合关系、聚合关系和相互关系。聚合和组合是关系。一般关系表示为继承或使用关系(isa),关系显示为变量(包含a),作为参数的引用(使用a)一般关系:显示类之间的继承关系。表现:若是父级是接口,请使用空心箭头+实线,箭头指向父类或空箭头+虚线。对每一个机制,指定介入协作的其他类、接口和协作。同时,肯定它们之间的干系。使用方案提前计划它们,在此过程中,您将找到模型中缺少的部分和定义的无效部分。对于类,第一个派生(类职责)并将其转换为特定属性和方式。经过分析每个类的属性和方式,可以绘制类图,如图4-6所示。图4-6五子棋类图4.3棋盘界面设计在分析设计思路、给出算法、绘制用例和类图后,可以起头接口计划。接口计划也可以解释为类的计划。此接口首要经过gobangview类设计。五件跳棋也是主要类型。主要功能是绘制棋盘,包括棋盘桌和边框,排列棋盘的五块窗口,显示默认文本面板,每个点在棋盘上的位置。4.3.1画棋盘这部分大体使用onDraw进行绘制,其主体代码如下:4.3.2画棋子这里棋子通过用图片进行绘制,其部分代码如下:其中chess1是需要引用图片的名称,存在drawable文件中。4.3.3结束提示语显示提示语显示使用函数mtext,分3种情况显示提示语,其部分代码如下:4.4核心实现代码五子棋程序核心通过类ChessFormUtil进行具体实现,此类包含五连、活四、冲四、活三、活二、眠三、眠二这7种情况。下面将是本程序的核心实现代码,用来实现人工电脑智能方面。分析是否存在连续5个同色棋子,即判断是否输赢,其实现代码如下: 分析活四,确认是否存在活四(活四:在棋盘某一条阳线或阴线上有同色4子不间隔的紧紧相连,且在此4子两端延长线上各有一个无子的交叉点与此4子紧紧相连),其实现代码如下: 分析活三,查看是否存在活三(活三:在棋盘某一条阳线或阴线上有同色3子不间隔的紧紧相连,且在此3子两端延长线上各有一个无子的交叉点与此3子紧紧相连),其实现代码如下: 4.分析冲四,确认是否存在冲四(冲四:除活四外的在下一招,便可形成五连,并且存在五连的可能性),其实现代码如下: returntrue; } returnfalse; }5.分析眠三,确认是否存在眠三(眠三:在棋盘上,再走一步可成冲四的点),其实现代码如下: 6.分析眠二,确认是否存在眠二(眠二:在走一步可成眠三),其实现代码如下: 第五章运行测试5.1程序测试软件测试是指软件交付给用户利用或投入利用以前,对软件请求的范例、设计范例和编码举行最终测试,是软件质量保证的关键环节。软件测试是程序执行以检测毛病的进程。软件测试涵盖软件生命周期的两个阶段:凡是必要在编写每一个模块(称为单元测试)后测试每一个模块。加密和单元测试是软件生命周期中的统一阶段。在此阶段经由过程后,软件系统必要周全的测试,如集成测试、体系测试、机能测试和设备装置摆置测试,这是软件生命周期测试阶段的另一个单独阶段。软件测试的目的:1.测试的最终目标是避免错误,并确保程序正常有效运行;2.一个好的测试用例是找出迄今尚未发现的错误;3.成功的测试是尚未发现的测试;一个好的测试员不但要找出问题,还需要帮开发人员解析问题所在。1.通过抽样检验,检测单位可尽快发现问题,减少后续测试中的误差量。2.测试用例由三步组成:测试输入数据、测试执行步骤和响应的预期结果。3.程序员应避免检查其步骤(指体系后期测试阶段,不包括单元测试)。4.测试用例旨在确保可以笼盖大部分的路径。不合理的输入前提是指异常的输入前提、危急和大概存在的问题。5.在测试中充实注重分组经验表明,测试后残剩的毛病与程序中发现的毛病数或毛病检测率成正比。错误群集段应侧重于测试。6.严格执行考试计划,排除随机测试。测试打算应包罗:被测软件的功能、输入和输出、测试内容、每次测试的进度、资源请求、测试数据、测试工具、测试用例选择、测试节制方式和流程、系统配置模式、跟踪法则、调试法则、回归测试法则、评估尺度。保存测试计划、测试用例、毛病统计信息和最终分析报告,以便于维护。软件测试工具:软件测试不但等效于应用程序测试,软件测试应涵盖软件界说和开发阶段,因此软件测试(解释)应基于需求分析、计划纲领、具体计划、程序编码和接收文档的其他阶段,以及需求范例、设计范例、概述、详细设计规范和源步骤。在验证明白、请求和表达的准确性、计划和表达的准确性、操纵的准确性和操纵的准确性时,软件测试中可以表现任何关键中的问题。游戏在这个过程当中完成,终究呈现各种问题。因此,确定具体问题已经找到解决办法,并最终找到明显的解决办法,需要花费大量时间。即使我们现在运行此程序,没有问题,这并不意味着程序是完美的,因此我们应该运行可能的程序来解决遇到的问题。5.2测试方法和测试用例测试方法:判定覆盖,测试用例如表5-1所示。表5-1测试用例5.3测试结论实现了预期结果。5.4运行效果图开始界面图5-1是刚开始进去的界面,棋盘一共12×12格,边框不可以落子的。图5-1开始界面效果图对弈过程界面对弈过程界面如图5-2所示。图5-2对弈过程界面对弈结果的界面对弈结果的界面如图5-3所示图5-3黑棋胜利的界面结论这次开发五件跳棋的经验有三
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB 7956.10-2025消防车第10部分:机场消防车
- 2025年中职环境运营管理(管理技术)试题及答案
- 2025年中职(网络安防系统安装与维护)监控系统安装阶段测试试题及答案
- 2025年高职小学教育(小学教学方法)试题及答案
- 2025年中职工业设计(产品创新设计)试题及答案
- 2025年高职播音与主持(节目主持)试题及答案
- 2025年大学大一(动物科学)动物解剖学试题及答案
- 2025年大学教育学(教育技术研发)试题及答案
- 2025年高职计算机网络技术(网络故障排除)试题及答案
- 2025年大学工业机器人技术(编程优化)试题及答案
- 2026年七年级历史上册期末考试试卷及答案(共六套)
- 2025年六年级上册道德与法治期末测试卷附答案(完整版)
- 2025年全载录丨Xsignal 全球AI应用行业年度报告-
- 资产评估期末试题及答案
- 郑州大学《大学英语》2023-2024学年第一学期期末试卷
- 人工智能安全风险测评白皮书(2025年)
- 雨课堂在线学堂《西方哲学-从古希腊哲学到晚近欧陆哲学》单元考核测试答案
- 学堂在线 雨课堂 学堂云 研究生学术与职业素养讲座 章节测试答案
- 文旅项目立项报告
- 京张高铁现场观摩会整体策划方案
- 安捷伦1200标准操作规程
评论
0/150
提交评论