




免费预览已结束,剩余18页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
湖南涉外经济学院课程设计湖南涉外经济学院课程设计报告课程名称:程序设计实训报告题目:JAVA版连连看学生姓名:轩乂所在学院:信息科学与工程专业班级:软件工程1002班学生学号:2010000指导教师:邹急2013年6月20日课程设计任务书报告题目JAVA版连连看完成时间6月20学生姓名专业班级软工1002指导教师邹急职称讲师总体设计要求和技术要点设计一个连连看游戏,要求如下:1能过关斩将。2不卡机,可有背景音乐。3易操作,界面美观。4正常情况下能记录游戏时间。技术要点如下:连连看游戏的规则暂定约定:两个方块之间的最多只能用3 条线段相连,也就是说最多只能有2 个“拐点”,加上两个方块的中心,方块的连接 信息最多只需要4 个连接点。工作内容及时间进度安排第15周:周1-周3 :立题、论证方案设计周4-周5 :预答辩第16周:周1-周3 :仿真实验周4-周5 :验收答辩课程设计成果1JAVA版连连看2课程设计总结报告摘要现代科学技术的发展,改变了人类的生活,作为一个新世纪的大学生,应该站在时代发展的前沿,掌握现代科学技术知识,以适应社会的发展,能独立完成面临的任务,是一个具有创造性的人才。 Java是Java语言的学习热潮并没有因为时间的流逝而褪色,相反,由于计算机技术的发展,新应用的出现,越来越受欢迎,这是以前的编程语言是罕见的在其生命周期内。 Java语言是那么长,因为它的许多技术特点非常合拍今天的应用,可以覆盖大多数的要求,二是因为太阳不断推出新版本,完善的Java功能。有了这两点,Java语言程序员成为首选的编程开发工具是可以理解的。 连连看游戏是一个非常受欢迎的游戏,还记得当我还是个孩子玩视频游戏,有两个特殊的连连看机(当然当时不叫这个名字),甚至是麻将牌,另一个是水果图片。麻将牌,并指出相邻层的卡还可以连接的时候,看的人眼花缭乱。 Java作为一个初学者,我有编辑嬉皮士HISA“猴子”的连连看游戏,只有少数几个基本功能:“开始”的游戏“炸弹”再次启动“退出”。我选择游戏界面很漂亮,但似乎图只有一层,数量不是很多,只有64张图片,减少了很多的困难。关键字:JAVA;计算机;游戏;连连看目录课程设计任务书I摘要II目录III一、绪论11.课程设计目的12.课程设计的实验环境13.课程设计的预备知识14.课程设计要求1二、面向对象分析31.功能分析32.流程图6三、面向对象设计81.连连看算法设计82.类的实现方法9四、面向对象实现121.程序运行情况122.测试计划及分析15五、结论16六、参考文献17IV一、绪论1.课程设计目的“JAVA编程”是计算机相关专业必修的专业基础课程,其实际应用是非常强的。实践教学是一个不可缺少的重要环节。本课程方案的设计项目实际上是一个计算机相关专业的学生学习“JAVA编程”课程后,一个完整的全面的培训,JAVA程序设计的目的是深化理论教学内容的理解和掌握,使学生系统地掌握程序设计它的广泛应用,网络的发展,基本方法和基本技能,为学生综合运用知识,软件开发运用软件工程的基础上,并在实际应用中奠定了一定基础。2.课程设计的实验环境计算机的硬件要求能运行Windows 9.X操作系统的微机系统。JAVA程序设计语言及相应的集成开发环境,UltraEdit开发工具。3.课程设计的预备知识要求大家能够熟悉JAVA语言及UltraEdit-32开发工具。4.课程设计要求按课程设计指导书提供的课题,要求学生在自行完成各个操作环节,并能实现且达到举一反三的目的,完成一个项目解决一类问题。要求学生能够全面、深入理解和熟练掌握所学内容,并能够用其分析、设计和解答类似问题;对此能够较好地理解和掌握,能够进行简单分析和判断;能编写出具有良好风格的程序;掌握JAVA程序设计的基本技能和面向对象的概念和方法;了解多线程、安全和网络等编程技术。同时培养学生进行分析问题、解决问题的能力;培养学生进行设计分析、设计方法、设计操作与测试、设计过程的观察、理解和归纳能力的提高。二、面向对象分析1.功能分析如果每次用户选择两种模式,以满足一定条件(两个图形,两个图形之间的转弯路径小于3),两个图可以取消该服务。由于任何两个相同的图形点阵,我们需要找到这反过来之间至少有两格,一格数用最少的路径。如果转动数量小于3的最优路径,那么这两个网格可以消除。在相同的图片,比赛时间1000秒,如果没有完整的,在规定的时间内消除界面会弹出对话框“白痴!时间GAME!GAME OVER!”字样。如果玩家赢得了那场比赛,还没有,你可以点击“游戏”。游戏是否结束。如果所有的图形消除,游戏中玩家可以不再删除任何两个正方形,游戏应该结束。后者的情况下,我们把它叫做“死锁”。在一个僵局的情况下,我们也可以暂时不终止比赛,但随机干扰,打破“死锁”的情况。无论如何,我们需要区分当前状态是否是“死锁”的游戏状态。我们首先要考虑的问题:如何判断两个图形可以取消?在前面的分析中,我们已经知道,两个图形可以是破坏性的,当且仅当两个图形是相同的,他们转动的数目之间有一条路径是小于3。因此,我们需要解决的主要问题是,如何找到相同的图形之间的最短路径?最短路径,我们首先需要确保转数至少。打开在最小数量的情况下,后网格数少,尽可能多的消除掉。经典的最短路问题,我们需要检查后要求数量的最小路径。在这里,以确保转动的次数最少,需要目标函数的最短路问题的修改,以从一个点到另一个点的圈数。虽然,目标函数的变化,但仍然可以保持相同的算法框架。广度优先搜索是一种思维方式来解决问题的古典短路。关闭的数量,我们看到在新的目标函数(最小),如何使用广度优先搜索解决图形(X1,Y1)和图形B(X2,Y2)之间的最短路问题。1.1连连看系统总体结构连连看是基于java基本知识设置的一个小游戏,刚开始的时候有一个用户登陆界面,要是没有账号的可以先申请一个。最中间有连连看的主体构成连连看图片,上面有计分、时间条,下面有退出、再来一局按键。一个标准的连连看系统应该包括以下几大功结构:1、鼠标操作模块;2、图像处理模块;3、声音信息模块;4、菜单模块;5、 界面显示模块。1.2连连看系统各模块介绍系统各功能模块实现的功能为:鼠标操作模块:玩家在玩游戏时需要运用鼠标与游戏系统进行交互,这个模块的实现是运用MFC中的鼠标事件触发的,在连连看的游戏场景中运用鼠标进行交互的事件主要有两个,一个是用户点击游戏场景中的图片时触发的事件。另外一种是用户点击菜单栏上的菜单按钮时说触发的鼠标事件。当用户点击游戏场景中的图像块时就会响应鼠标的OnLButtonDown事件,然后进行相应的逻辑判断。当用户点击菜单栏上的菜单命令时就会触发相应的菜单命令对应的相应的事件。图像模块:图像处理程序运行后,用户直接由年初的游戏菜单命令或按下F2键,开始进入游戏,在此模块中尝试绘制在资源文件中的图片处理,然后装入在节目中的游戏场景是通过DrawMap()方法。主要是使用API函数的BitBlt,他的主要功能是将一个内存块的数据被转移到另一个内存块,以前的内存块被称为“源”,一个内存块被称为“目标”的形象后,应用程序开发人员使用Blit的功能在一个页面上,内存改造后,一些被转移到另一个页面的位图。声音信息模块: 在游戏过程中,当玩家成功消去一对图像块后播放一个提示音,当消去失败的时候会播放另外一个提示音,根据用户操作结果的不同播放不同的音乐提示,这在一定程度上能够增加用户对游戏的沉侵感。对声音模块信息的管理在程序中是通过API中的PlaySound函数来实现的。菜单模块:玩家在游戏过程中随时通过选择不同的菜单命令来执行相应的操作,菜单是由多个文件添加到菜单的应用程序菜单栏的MFC框架包括几个部分:(1)游戏开始菜单,放弃和quit命令。 (2)选择菜单提示及重列,暂停,音乐,音效,和不可分割的命令。 (3)在“帮助”菜单,并介绍了版本的游戏,等具体实施方法将做详细的介绍下。界面显示模块: 游戏场景中界面的显示包括以下部分:游戏的级别、关卡数、允许重新排列的次数、允许的提示次数、剩余时间、游戏主场景。这些显示信息会随着游戏的进行而动态改变。当提示次数和重列次数为0时系统就不在允许用户使用提示和重列的功能。除了上面的程序主界面的连连看游戏,还包含了一个显示成绩和排名,积分和排名的对话框对话框设计,用户可以查看排名,排名可以删除记录。全连连看游戏系统的开发在VC+6.0环境中发展,在发展的过程中,使用微软提供的API接口中的方法,编写程序代码量减少,并提高了编程的效率。2.流程图三、面向对象设计1.连连看算法设计在检验两个方块到底能不能消除的时候,就是两者配对并且连线成功,我们要让两个方块同时满足两个条件才行。* 分3种情况:(在三个不同的条件下,从以下三个条件,我们就可以知道,需要三个测试,三个检测分别在一条直线路径,这将有三个路径,如果路径是空的按钮,那么它是仅有三行(两个转折点分)连接的两个按钮) * 1.相邻的情况 * 2. 如果没有相邻的第一个按钮同行找到一个空的按钮。 1)。找到后横向空的,如果有一个按钮的按钮,在该列的第二个按钮。 2)。如果没有,那么在第一个按钮到与它之间的备用按钮,如果有一个按钮。 3)。如果没有,那么从垂直的家伙,第二个按钮,看是否有一个按钮的第一个按钮,按钮空。如果没有通过的路径,可以消除。 * 3. 如果失败后2内的同一列中的第一个按钮再次找到一个空的按钮。 1)。找到后垂直空行按钮,如果有一个按钮(2)的第二个按钮。如果没有,那么看空列的第一个按钮,如果有一个按钮,按钮。 3)。如果没有,那么,从空的列与所述第一横向列与第二个按钮,以查看是否有一个按钮的按钮按钮。如果不通过的路径,可消除。* 若以上三步呢都失败的话,这就说明这两个按钮不可以消去。2.类的实现方法2.1 成员变量成员变量也叫类的属性,一般带有访问控制属性的,而全局变量虽然也有类的属性,但全局变量严重影响了封装和模块化,一般的全局变量前面要加上static和 fina属性其中,static使该变量任何类都可用(方法 ClassName.全局变量名) ,而 fina则使得变量不可更改,基本上算是常量了,这也在一定程度上防止对变量的非法修改。表 2-6-1 成员变量 成员变量描述变量类型名称文件FilesFile文件区JtextareaTextarea菜单项JmenuitemMenuitem_copy菜单UmenuitemUmenuitem标签JlabelLabel_seek文件名StringSeel2.1 方法设计方法名称为任何合乎语法的识别字,返回值类型是方法执行结果返回给调用者的数据类型,void表示没有返回值,参数行(parameterlist)是调用时给予的参数声明,两个以上的参数声明以逗号隔开,若没有参数则参数行为空白,调用时每一个参数对应一个参数值(argument)大括号内为方法本体,也称为方法程序模块(block),包含声明(declarations)和语句(statements),声明也可以掺杂在语句之间。一个方法不能声明在另一个方法内。表 2-6-2 方法定义方法名功能备注MyTextEditor创建文本编辑器构造方法Dialog创建对话框addMenu添加菜单栏菜单项writeToFile向文本区写文件readFromFile读文件openDialog打开文件saveDialog保存对话框actionPerformed事件处理itemStateChangedItemListener事件处理方法mouseClicked鼠标处理事件接口方法mouseEvent鼠标处理事件接口方法mouseReleased鼠标处理事件接口方法mouseEntered鼠标处理事件接口方法mouseExit鼠标处理事件接口方法mouseDragged鼠标处理事件接口方法Main程序开始运行四、面向对象实现1.程序运行情况连连看游戏规则很简单,就是点中两个互相匹配并且可以通过不多于两个折点的折线连在一起的方块后,这两个方块就可以消掉。图1初始界面菜单选项中,包括“开始游戏”、“重新开始”、“炸弹”、“退出”功能。当选择炸弹功能时:每次含有三个炸弹,所炸的位置也是随机的;图2 游戏界面粗略想来,由于用户每次只能消除一对图形,即只会用到一个最短路径,但由于实现并不知道用户会选择哪一对图形,所以需要事先计算出所有可能的最短路径并保存起来。此外,采用这种方法的话似乎每次用户消去一对相同图像之后都需要重新计算出当前所有可能被连接的相同图形之间最短路径,这是因为当某些图像被消去之后可能会产生很多新路径,而我们又不能确定这些空出来的格子到底能够影响哪些路径,所以就只好都重新计算一遍。其缺点很明显就是每次消去图形动作之后重新计算所有可能的最短路径所需要消耗的时间;而该方法的优点则是可以很快地判断两个相同图形之间是否存在满足条件的最短路径。如果用户是不太差,每次可以消除可以选择的图形,然后以这种方式浪费时间将是相当大的,在所有的用户没有选择其他图形之间的最短路径,可以连接到所有浪费;用户来说是非常差,可以选择的时候,每一轮都远远大于当前的连接数,这种方法可以有效地比这本书中的文字提到的方法。但这种情况较少,因为用户主要是在游戏中的眼睛“寻找”,而不是频繁使用鼠标的“尝试”。所以,总体来说,保持所有的最短路径方法的效率是比较低的。比赛结束后,在页面的对话框,询问玩家是否为接下来的比赛中是否要继续。1.1程序设计及调试运行 利用JSP“一次编写,各处运行”的编程优点,按功能模块结构设计菜单,布置各明细模块工作界面,编写各个模块的程序代码,进行编译连接运行,经过反复调试修改,以达到系统功能要求。这个过程具有大量的工作量,应仔细对每个程序细节进行分析思考、编写程序并调试,做到程序简洁清楚,尽量避免可能潜在的程序错误,并在必要的地方加以注释,以便于程序阅读和修改。1.2游戏的连接算法连连看游戏的用户在简单的礼物,点击两个相同的图像时,会褪色的两幅图像。如果不相邻的两个相同的图像块消除时,也不能超过两匝。连连看游戏联通算法一般包括回溯迷宫算法和堆栈。在重复两个瓷砖的发展可分为以下几种方法消除。设置到x1,y坐标的图像块的第一,第二图像块的横坐标为2倍,y坐标为y1的横坐标为Y2.2.测试计划及分析2.1检验的先后顺序何时可以取消检查两个广场,我们想使两个平方的同时满足这两个条件,都成功匹配和附件。因此,配对应该先测试,如果条件不成立,不检查附件,这样就能够避免许多不必要的复杂计算。 ,当然,如果你在这场比赛中,算法是不那么容易的,然后看后面的麻烦,我把它放在最后面麻烦的部分了。2.2程序异常处理这个程序没有涉及异常处理,只是
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2023六年级英语上册 Unit 6 There are four seasons in a year Lesson 32说课稿 人教精通版(三起)
- 2025浙江绍兴市城发集团人员招聘总及人员笔试历年参考题库附带答案详解(3卷合一)
- 八年级历史上册 第7课 戊戌变法说课稿 中华书局版
- 2018春苏教版七年级生物下册第四单元第9章教学设计:4.9.1人体需要的主要营养物质
- 湖北省武汉为明实验学校人教版七年级下册地理教学设计:7.4俄罗斯
- 八年级语文下册 善良友谊 第二课 球约 第二课时 初学课文说课稿 新教版(汉语)
- 2025年区块链技术的数据安全保护
- 2025年区块链技术的溯源应用
- 2025年湖南省公需科目题目和试卷及答案
- 2025年国家公务员考试《申论》参考答案
- 2025年护理质控标准题库及答案
- 2025年农作物植保员岗位技术基础知识考试题库附含答案
- 人力资源中薪酬管理案例分析题及答案
- 驾驶安全培训文案课件
- 采购业务审计培训
- 2025-2026学年冀美版(2024)小学美术二年级上册(全册)教学设计(附目录P284)
- 招聘渠道分析评估表
- 2025年注册安全工程师考试 安全生产法律法规与标准冲刺押题卷
- 2025年成人高考政治(专升本)考试题库
- 不忘初心混声四部合唱谱孟卫东编
- 公司食堂外包项目投标方案(技术标)
评论
0/150
提交评论