ImageVerifierCode 换一换
格式:DOCX , 页数:43 ,大小:322.46KB ,
资源ID:6028742      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-6028742.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(连连看小游戏设计毕业设计.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

连连看小游戏设计毕业设计.docx

1、连连看小游戏设计毕业设计摘要游戏“连连看”,只要将相同花色的两张牌用三根以内的直线连在一起就可以消除,规则简单容易上手。这个程序的界面使用Jframe框架,主程序窗口包含一个主面板,其中包含两个子面板,左边一层子面板是游戏窗口,符合我们玩游戏的习惯,包含连连看游戏的图片元素,用户进行游戏能找到32对图片;右边一层用来实现游戏控制,有开始、刷新、选择难度、显示分数、进度条等功能选项。结合Java 编程语言的简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程、动态和连连看游戏的休闲、趣味、益智加上美观的界面设计和秀色可餐的水果蔬菜游戏图片元素,使这款连连看游戏成为现代都市

2、人们打发无聊,放松身心的好帮手。加入了游戏时间控制和过关控制及进度条提示功能使游戏速度节奏快,画面清晰可爱,老少皆宜。通过ActionEvent组件进行动作事件的监听和处理。游戏通过定义数组,根据一定的算法实现规定的路径判断。关键字: Java连连看;Jframe;数组;路径判断AbstractThe game lianliankan, as long as the two cards with the same suit straight up to three connected can be eliminated, rules are easy. This program of inte

3、rface using Jframe framework, main program window contains a a main panel, which contains two a child Panel, left a layer child Panel is game window, meet we playing game of habits, contains fest see game of pictures element, user for game can found 32 on pictures; right a layer used to achieved gam

4、e control, has began, and refresh, and select difficulty, and displayed score, and progress article, features option. Combines a simple Java programming language, object-oriented, distributed, interpreted, robust, secure system-independent, portable, high-performance, multithreaded, dynamic and lian

5、liankan games, leisure, fun, puzzle together with attractive interface design and appetizing fruit vegetables picture elements, makes this lianliankan games become the modern city spending tedious, relaxed and good help. Joined the playing time control and border control and progress bar prompts mak

6、e the game faster tempo, clear picture and lovely, both young and old. Action through the ActionEvent component event listening and handling. Games by defining an array according to certain algorithms provide path of judgment.Key words: Java Lianliankan ; Jframe ; array ; approaches目录1.引 言12.游戏规则12.

7、1概要12.2操作12.3胜利条件12.4失败条件13.发展概况13.1连连看游戏的历史13.2用java语言写连连看游戏的原因24.方案论证24.1设计原理24.2方案选择34.3主要问题34.4技术要求34.5游戏应用环境的构建45.系统分析45.1模块分析45.1.1 界面的设计和图片的随机生成模块5 5.1.2 菜单控制模块55.1.3算法模块5 5.2 基本思路65.2.1 游戏地图设计思路65.2.2 连连看游戏图片65.2.3 获取图片位置6 5.2.4 路径判断思路76.系统设计8 6.1主界面的设计8 6.2图片的随机生成9 6.3单击控件的事件触发9 6.3.1开始游戏按钮

8、9 6.3.2重列按钮10 6.3.3难度选择按钮10 6.4清除两个一样的符合条件的方块10 6.5过关设置107.结果分析11 7.1优点11 7.2缺点118.总结11参考文献13致 谢141.引言网络小游戏、网页游戏越来越受网民欢迎,除了玩的方法简单外(不像其他游戏还需要注册下载繁琐过程),很多游戏不乏经典。连连看游戏就是典型。不管走到哪个网页游戏网站,连连看游戏总是排在受玩家欢迎排名的前5位,休闲、趣味、益智是连连看玩不厌的精华,且不分男女老少、工薪白领,是一款适合大众的经典网络休闲小游戏。作为最基本的网页游戏之一,“连连看”游戏的设计与实现可以积累开发网页游戏的经验,完善开发思路,

9、为以后更高层次上的网页游戏开发,打下坚实的基础,更好的推动网页游戏的发展。现代人生活节奏快,工作压力大,诸如此类游戏不仅益智,而且简单易玩有趣,能放松心情,打发无聊,平淡中创造乐趣。2.游戏规则2.1 概要玩家可以将 2 个相同图案的牌连接起来,连接线不多于 3 根直线,就可以成功将两个牌消除。 2.2 操作第一次使用鼠标点击游戏界面中的牌,该牌此时为被选中,以特殊方式显示;再次以鼠标点击其他牌,若该牌与被选中的牌图案相同,且把第一个牌到第二个牌连起来,中间的直线不超过 3 根,则消掉这一对牌,否则第一个牌恢复成未被选中状态,而第二个牌变成被选中状态。2.3 胜利条件将游戏界面上的牌全部消除掉

10、。2.4 失败条件到规定时间,界面上的牌仍未全部消掉。3.发展概况3.1 连连看游戏的历史游戏“连连看”顾名思义就是找出相关联的东西,这个连连看在网上基本是用在小游戏中,就是找出相同的两样东西,在一定的规则之内可以做为相关联处理。“连连看”的发展经历了从桌面游戏、在线游戏、社交游戏三个过程。 游戏“连连看”是源自台湾的桌面小游戏,自从流入大陆以来风靡一时,也吸引众多程序员开发出多种版本的“连连看”。这其中,顾方编写的“阿达连连看”以其精良的制作广受好评,这也成为顾方“阿达系列软件”的核心产品。并于2004年,取得了国家版权局的计算机软件著作权登记证书。随着Flash应用的流行,网上出现了多种在

11、线Flash版本“连连看”。如“水晶连连看”、“果蔬连连看”等,流行的“水晶连连看”以华丽界面吸引了一大批的女性玩家。2008年,随着社交网络的普及和开放平台的兴起,“连连看”被引入了社交网络。“连连看”与个人空间相结合,被快速的传播,成为一款热门的社交游戏,其中以开发者Jonevey在Manyou开放平台上推出的“宠物连连看”最为流行。 3.2 用Java语言写连连看游戏的原因Java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaSE, JavaEE, JavaME)的总称。J

12、ava 技术具有卓越的通用性、高效性、平台移植性和安全性,广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、移动电话和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景。因此,结合Java 编程语言的简单、面向对象、分布式、解释性、健壮、安全与系统无关、可移植、高性能、多线程、动态和连连看游戏的休闲、趣味、益智,本文将具体介绍用Java语言编写连连看游戏的可行性和方法。由于计算机技术的发展所带来的新应用的出现,Java越来越流行,这种情况是以往程序设计语言在其生存周期内所不多见的。Java语言之所以这样长盛不衰,一是因为其

13、众多的技术特点与现今的应用十分合拍,可以覆盖大部分的需求;二是因为SUN公司不断推出新的版本,完善Java自身的功能。有了这两点,Java语言成为程序员首选的程序设计开发工具就在情理之中了。Java编程不仅简单可靠,而且有功能强大的类库,本文介绍的Java连连看游戏将使用Swing类库,Java的类库,使用Swing平台编写的带有GUI(图形用户接口)的程序和其他原始程序非常不同。选用AWT工具包编写程序的程序师看到的都是原始接口,而且也无法获得先进的GUI编程支持,如果使用的话,就要提供每个平台上面所需的API,这将是一项庞大的工程。Swing则是完全用Java语言所写的程序,避免了接口元素

14、重复的问题,只使用所有平台都支持的最基本的绘图机制。但是很多用户不知道如何在Java风格和Windows风格之间进行转换,结果造成了Java程序的接口在很多程序中非常特殊。苹果电脑已经提供了优化过的Java运行时程序,包含了Mac OS X的经典Aqua接口风格。4.方案论证4.1设计原理 本设计采用单机模式,当在规定的时间内消完全部的图片则当前关卡通过,如果在规定的时间内没能消完所有的图片则游戏结束,重新开始新游戏。游戏规则是模仿普通的连连看游戏,主要是鼠标两次点击的图片能否消去的问题。当前,前提是点击两张相同的图片,若点击的是同一张图片或者两张不同的图片,则不予处理。在两张想同图片用三根以

15、内的直线能连在一起,就可以消去;否则,不予处理。 游戏过程,如果玩家在一定的时间内消完则提示玩家胜利,并进入下一关。如果在一定时间内图片没有消完则提示玩家时间到。每关以此类推。考虑到本游戏软件是单机小游戏,所以充分考虑到了它的娱乐性,并没有很复杂的功能。4.2 方案选择 在概要设计阶段,主要有三种方案可供选择: 1.所有图片在面板的所有方格随机出现,位置由计算机随机配置,直到面板被填满。2.所有图片在面板的所有方格随机出现,并且每张图片的的出现次数为偶数,时间会有限制,每一关的图片数量是不同的,这样就增加了游戏的难度。3.图片出现的种类数和重复次数是可以由玩家选择的,时间由游戏约定。并且每张图

16、片的的出现次数为偶数。在第一种方案中,由于出现的图片种类数和重复次数都由软件约定,这样就不能保证游戏能顺利结束,不可行。第二种方案中,图片出现的种类数由软件控制,缺乏玩家自主选择的空间,只是在玩系统已经是设定好的游戏,空洞单调,这样就在无意中降低了玩家在游戏的过程中乐趣,最后致使玩家放弃继续玩下去。我们参考了网络上的连连看游戏,考虑到游戏的娱乐性。所以我们放弃第一种和第二种方案的设计思想,参考网络上流行的连连看的游戏,设计出第三种方案。 4.3主要问题 开始制作游戏时,主要要解决的问题有以下几个方面:如何设置整个游戏的界面;如何控制连连看游戏中随机图片的生成且每种图片必须为偶数个;游戏开始后,

17、判断鼠标两次点击的图片能否消去,即图片是否相同且图片之间路径的判断;如何判断游戏是否结束以及输赢问题等。 4.4 技术要求 连连看软件系统能够提供友好的用户界面,使操作人员心情放松。具有良好的运行效率。(1)、用户可以通过点击菜单中的“开始游戏”选项,开始新游戏程序。程序会载入图片,并通过特定的算法排列图片,并标记图片,以便判断图片是否相同。记录图片坐标,以方便计算图片是否可以相连。确定图片大小,以确定用户点击的是那张图片。(2)、用户选择两张一样的图片,通过鼠标进行选取,如果用户两次点击的图片不相同,那么系统认为用户没有点(鼠标记数归 0),以完成用户以后的选取工作。如果用户选择的是相同的图

18、片,那么系统会消除这两张图片,并使鼠标记数为 0,并消除这两张图片的标记,使里面的图片被标记在外面。以便用户可以进行以后的选择。(3)、用户也可使通过使用“刷新”功能进行图片重新排版。4.5 游戏应用环境的构建4.5.1 游戏需要的硬件环境普通PCCPU :1GHz及以上内存 : 256MB及以上分辨率 :推荐1024*768像素4.5.2 游戏需要的软件环境操作系统 :Windows xp/7开发环境 :eclipse开发工具包 :JDK5.系统分析5.1 模块分析 针对上面的需求分析,我们把整个软件分成三个模块:1、界面设计和图片的随机生成模块模块;2、菜单控制模块; 3、算法模块。以下就

19、是系统结构图(图5-1)和软件界面图(图5-2): 5.1.1 界面设计和图片的随机生成模块(1).游戏界面设计。(2).游戏过关、失败的设计。5.1.2 菜单控制模块(1). 开始游戏:载入游戏图片,开始游戏计时计分,启动进度条。(2). 刷新:计算剩余图片个数,重新载入图片,继续计时计分。(3). 游戏难度选择:可以选择四个难度进行游戏。(4). 提示:游戏过关和结束的提示。(5). 结束:结束游戏。5.1.3 算法模块(1).图片路径处理设计。(2).图片的产生设计。游戏流程图如下图所示(图5-3)。5.2 基本思路 5.2.1 游戏地图设计思路地图的设计是采用GUI编程的网格布局,定义

20、一个八行八列的网格布局,使用16个数字然后随机产生四个数字,用二维数组把它们打乱放到八行八列的网格布局中,注意的是二维数组的下标要和网格布局是的行、列数相同。5.2.2连连看游戏图片 连连看游戏的图片选择需要一定的技巧,不同年龄段的不同兴趣的人对不同的游戏画面有不同的反应,为了消除现代社会人们普遍感觉到的疲劳感,我决定用人人都喜欢,简单易做又养眼的热带盛产的水果做连连看图片,达到了游戏的初衷休闲。 5.2.3 获取图片位置如何将图片随机的排列在面板上,有两种方法,一是随机选择图片,然后按顺序排列在画布上,二是顺序选择图片随机排列在画布上,这两种方法都可行,姑且选择第二种方法,通过数组从图片库得

21、到图片,随机分布在画布上。为了保证游戏能顺利结束,图片个数一定是偶数个。 5.2.4 路径判断的思路连连看所要求的是:1.两个目标是相同的。 2.两个目标之间连接线的折点不超过两个。(连接线由x轴和y轴的平行线组成) 那么分析一下连接的情况可以看到,一般分三种情况:1.直线相连 2.一个折点(图5-4、图5-5) 3.两个折点(图5-6、图5-7):可以发现,如果有折点,每个折点必定有且至少有一个坐标(x或者y)是和其中一个目标点是相同的,也就是说,折点必定在两个目标点所在的x方向或y方向的直线上。所以设计思路就是:假设目标点 p1 , p2 ,如果有两个折点分别为z1 , z2 那么,所要进

22、行的是: 1.如果验证p1 , p2 直线连线,则连接成立。2.搜索以p1,p2的x,y方向四条直线(可能某两条直线会重合)上的有限点,每次取两点作为z1,z2,验证p1到z1/z1到z2/z2到p2 是否都能直线相连,是则连接成立。 6.系统设计由于这个程序的界面使用Jframe框架,并不是很复杂,所以用到的控件也不多,主要核心内容还是后台的代码设计。图片的随机生成主要是用到一个map面板数组,数组的每一个元素都赋随机值,然后根据数组元素值,来显示图片。 使用Jframe框架进行开发的原因:Jframe应用软件开发平台是一个基于JavaEE的面向应用软件开发的框架及自动化代码生成平台。通过J

23、frame应用软件的开发不需再重头做起,只需通过Jframe自动代码生成工具配置,生成业务代码,并在自动生成的代码基础上简单地补充业务逻辑即可。Jframe降低了软件研发的要求,开发人员也无需掌握太多高深技术,只需掌握Java基础知识和Javascript基础知识,就可在平台上进行二次开发,Jframe的目标是“直接降低软件企业80%的的研发成本,缩短项目开发周期,提升客户满意度”;应用软件开发过程中80%的重复工作将由Jframe来完成,20%的特殊业务逻辑将由程序员在Jframe应用开发平台基础上补充完善。6.1 主界面的设计 主类直接继承自JFrame,就可以直接调用JFrame的方法了

24、:public class lianliankan extends JFrame。为这个类创建一个Jpanel对象llk,在Jpanel中添加图片按钮和控制按钮,最终界面如图6-1所示。具体代码见附录。程序主体界面:1、色彩上:总结人们的视觉习惯和色彩对眼睛的健康影响,决定对于画布采用灰色背景,便于识别图片,集中精力,右边一侧显示控制和分数,简单易用。2、功能上:开始和刷新控制按钮,得分和剩余时间提示,醒目的进度条增加了游戏的趣味性。6.2 图片的随机生成 实现这个功能要分两个步骤: 将所有图片分类并按顺序标号,程序运行时即载入游戏需要的N张图片,默认情况下图片种类数是15,并且可以选择是否重

25、列。通过一个循环,为面板数组赋随机值,其值不大于用户选择的图片种类数。然后按照面板数组载入图片。具体载入图片的代码见附录。 6.3 单击控件的事件触发 总共有两个单击按钮。分别是:开始游戏(进入游戏状态)、重列(重新加载图片)、难度选择。6.3.1 开始游戏按钮 (1)将画板上的所有游戏按钮激活,即设置为Enabled。用鼠标单击画板按钮时就能够运行设置好的事件处理函数actionPerformed,进行消去判断,如果两个图片一样,且满足消去条件则消去。 (2)新建画板地图,画板上将布满随机图片。 (3)初始化时间控件jdt的时间为0,时间控件的进度条启动,游戏开始进行计时,一分钟后结束。 (

26、4)设置分数标签的数值为0,开始计算玩家游戏分数。 (5)设置游戏过关标签的数值为0,开始计算玩家游戏过关数。6.3.2 重列按钮 (1)计算游戏剩余未消去的图片的个数。 (2)新建地图,按照游戏剩余未消去图片的个数生成图片,并随机排列在画板上。6.3.3 难度选择按钮 (1)若设置为简单选项,则设置蔬菜类型为四个,然后开始新游戏。 (2)若设置为一般选项,则设置蔬菜类型为八个,然后开始新游戏。 (3)若设置为较难选项,则设置蔬菜类型为十二个,然后开始新游戏。 (4)若设置为超难选项,则设置蔬菜类型为十五个,然后开始新游戏。实现代码见附录。 6.4清除两个一样的符合条件的方块分 3 种情况:从

27、下面的这三种情况,我们可以知道,需要三个检测,这三个检测分别检测一条直路经。这样就会有三条路经。若这三条路经上都是空按钮,那么就刚好是三种直线(两个转弯点)把两个按钮连接起来了。 (1)、相邻。 (2)、若不相邻的先在第一个按钮的同行找一个空按钮。1.找到后看第二个按钮横向到这个空按钮所在的列是否有按钮。2.没有的话再看第一个按钮到与它同行的那个空按钮之间是否有按钮。3.没有的话,再从与第一个按钮同行的那个空按钮竖向到与第二个按钮的同行看是否有按钮。没有的话路经就通了可以消了。 (3)、若(2)失败后,再在第一个按钮的同列找一个空按钮。1.找到后看第二个按钮竖向到这个空按钮所在的行是否有按钮

28、2.没有的话,再看第一个按钮到与它同列的那个空按钮之间是否有按钮。3.没有的话,再从与第一个按钮同列的那个空按钮横向到与第二个按钮同列看是否有按钮。没有的话路经就通了,可以消了。若以上三步都失败,说明这两个按钮不可以消去。实现代码见附录。6.5 过关设置把界面上全部图片都消去即为通过此关,进入下一关。实现代码见附录。7.结果分析根据游戏的运行结果得出的结论: 7.1 优点(1)程序界面清新易玩,布局比较合理;(2)程序界面功能多,基本能够满足玩家的一般需求;(3)游戏图片是我精心挑选的热带水果图,养眼易辨,增加了游戏的趣味;(4)自己设计的进度条,加入了多线程的功能。7.2 不足(1)过关后,

29、分数不累计,相当于重新开始了;(2)一局游戏难度选择只能选择一次,否则算是重新开始,每关的难度一样,很不灵活;(3)只能重列一次,以至于有时候进入死局;(4)游戏没有阶段性奖励提示,和过关提示; (5)游戏没有动画效果,感觉很死板。8.总结做事要积极主动,态度决定一切,不得不说,同样的事,同一水平线,不同人做的时候,态度和积极性就决定着一切,所以一个人只要工作态度好,我相信这个人的工作绝对不会差。就为解决一个问题,我们可能连续十几甚至几十小时的坐在计算机前不停的工作。一个问题解决了,可能又有其它的问题出现。而你要是不能坚持下来,可能从前的一切努力都流失了。轻易言败的人请不要做程序员,你不可能成功。执着是最可贵的。整个程序设计的过程就是一个研究学习,

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2