基于Java Swing的连连看游戏设计与实现

包含完整可运行前后端源码源码、数据库SQL文件、项目文档资料、完整项目辅导视频

项目简介

基于java的连连看游戏设计和实现,基本功能包括:消除模块,重新开始模块,刷新模块,选择难度模块,计时模块。本系统结构如下:

(1)消除模块:
完成连连看游戏消除动作的模块。
(2)重新开始模块:
完成连连看游戏中重新开始新一局游戏功能的模块。
(3)刷新模块:
完成连连看游戏中,将游戏中未消除的图片个数记录并重新随机放置等数量图片的功能模块。
(4)选择难度模块:
完成游戏中切换游戏难度并开始新一局游戏的模块。
(5)计时模块:
完成游戏中倒计时并显示提示信息的模块。
(6)状态显示模块:
完成游戏中对游戏得分、闯关数记录的模块。

类似项目

基于Java Swing的桌面游戏设计与实现

项目截图

遇到问题?

[wm_green]项目软件不会装?找不到工具安装包?找不到开发工具激活办法?需要开发工具使用教程?…[/wm_green]

[wm_wpbutton link=”https://www.yuanmasucai.com/22079.html” target=”blank” variation=”blue”]点我解决[/wm_wpbutton]

[wm_green]题目要求不符?需要技术援助?需要修改定制?需要项目部署?…[/wm_green]

[wm_wpbutton link=”https://www.yuanmasucai.com/22083.html” target=”blank” variation=”blue”]点我解决[/wm_wpbutton]

项目文档

基于Java的连连看游戏设计与实现
摘 要
连连看是一种消除类益智游戏,核心要求是在规定的时间内,消除游戏界面中选中的两张相同的图案,直至完全消除所有图案。这款游戏操作简单(只需单击鼠标左键操作)、面向人群广泛,在限时操作的游戏要求下,吸引玩家自发地锻炼观察能力、判断能力和反应能力,故从推出至今颇受欢迎。消除类游戏如今也有很多类型,但连连看游戏因其操作简单依旧广受好评,该游戏不仅能调节精神状态,还能在游戏中锻炼我们的眼力视野和集中力,开发思维能力的同时培养面对困难时具备攻克困难的信心。
此次设计所使用的语言为Java语言,开发环境为JDK Version1.7.0,开发工具为Eclipse。主要应用Swing组件,Java小程序,事件及接口等。本系统主要是运用Swing组件和事件处理技术,进行界面的绘制,鼠标的操作,以及积分的显示和沙漏的计时的显示等功能。
关键词:游戏;连连看;二维游戏

Design and Implementation of Java-Based Link-Game
Abstract
Link-Game is a kind of tile-matching puzzle games,the core requirement is that within the prescribed period eliminating two selected pictures which clicked on the before and after and had the same pattern until completely eliminating all of the same two.There are numerous reasons why this game is popular since launch as follow.The operation of the game is simple (just need clicking the mouse left key)and facing the crowd is widespread.But also in the limited time,game players have to victory attracts people exercise spontaneously observation ability,judgment ability and the ability to respond to.Now this kind of puzzle games also has a lot of types,but Link-Game because of its simple operation is still popular,not only can the game adjust the mental state,but also exercise our eyesight and concentrated force by enjoying the game.Furthermore,it develops the thinking ability.Meanwhile,it cultivates the confidence to overcome difficulties when we face the difficulties.
This design uses Java language,and it’s development environment is the Version 1.7.0 JDK on eclipse,the development tool.This system mainly use Swing components,Java applet,event and interface.By using event handling technology and Swing technology realizes the GUI,the mouse operation,showing the game credits as well as the function that timing as the hourglass.
Keywords: Games; Link-game; Two-dimensional Game

目录
摘 要 1
Abstract 2
目录 2
1. 绪论 1
1.1. 课题背景 1
1.2. Java游戏开发的现状 1
1.2.1. Java日益趋向成熟 1
1.2.2. Java极大的方便了游戏脚本的使用 2
1.2.3. Java平台无关特性 2
1.2.4. Java在手机游戏开发方面的优势 2
1.2.5. Java在网络方面的良好表现 2
1.2.6. 游戏速度 3
1.3. 项目开发的目标 3
1.4. 项目开发的意义 3
1.5. 本文章节安排 4
1.6. 本章小结 4
2. 开发环境和相关技术简介 5
2.1. 开发环境 5
2.1.1. Eclipse 5
Java 6
2.1.2. 6
2.2. 相关技术简介 7
2.2.1. Eclipse的图形界面开发 8
2.2.2. Java技术在游戏开发中的应用 8
2.3. 本章小结 12
3. 需求分析 13
3.1. 可行性分析 13
3.1.1. 技术可行性 13
3.1.2. 经济可行性 13
3.1.3. 社会可行性 14
3.1.4. 操作可行性 14
3.2. 连连看游戏需求描述及规则描述 14
3.3. 系统需求分析 14
3.3.1. 业务需求 15
3.3.2. 用户需求 15
3.3.3. 功能需求 16
3.3.4. 非功能需求 17
3.4. 本章小结 18
4. 概要设计 19
4.1. 模块设计 19
4.1.1. 连连看系统总体结构 19
4.1.2. 连连看系统模各模块介绍 19
4.1.3. 游戏界面模块 20
4.1.4. 处理模块 20
4.2. 确定类 20
4.3. 游戏素材 22
4.3.1. 背景图片 22
4.3.2. 游戏图片 22
4.4. 本章小结 23
5. 详细设计和实现 24
5.1. 界面设计 24
5.1.1. 界面实现 24
5.1.2. 倒计时沙漏的设计 26
5.2. 游戏执行的实现 28
5.2.1. 点击图片的实现及其部分代码 29
5.2.2. 记分、记关数的实现 30
5.2.3. 刷新功能的实现 30
5.2.4. 重新开始游戏功能的实现 32
5.3. 游戏的连接算法 32
5.3.1. 连连看连接方式的类型 32
5.3.2. 连连看连接方式的分析 33
5.3.3. 部分核心代码 35
5.4. 本章小结 36
6. 系统测试 37
6.1. 软件测试目的及意义 37
6.1.1. 测试目的 37
6.1.2. 测试意义 38
6.2. 测试方法分类 38
6.3. 测试步骤 39
6.4. 测试用例 40
6.5. 测试结果 45
6.6. 本章小结 45
结 论 46
致 谢 47
参考文献 48

1.  绪论
以互联网产业为代表的中国信息产业蓬勃发展,并已成为国民经济和社会发展的重要组成部分。电子游戏产业作为电子技术的产物,涉及到电子游戏的开发、市场营销和销售等方方面面的经济领域,并且很快在全世界的娱乐领域占据主流位置。在社交网络飞速发展的影响下,电子游戏社交化助力推动电子游戏各个方面的发展,带来的经济效益也愈发庞大。网页游戏、单机游戏、网络游戏形形色色数量庞大,涌现出一批批颇具新意的游戏,为疲惫的生活带来轻松和愉悦,满足玩家的娱乐休闲要求。
1.1.  课题[课题]背景
连连看游戏顾名思义就是找出具有关联关系的事物并进行相应处理,经历了从桌面游戏、在线游戏再到社交游戏三个过程,形式多种多样。游戏的核心要求是将两个能用三根以内的直线连接的关联事物(相同事物)消除(或进行其他处理)。一般的连连看小游戏规则和操作都简单明了易上手,但也有很多新版本的连连看游戏加入了各类道具和游戏模式来丰富游戏内容,很好地增强了游戏的娱乐性,也带给玩家长期的挑战性和新鲜感。
对于90后大部分玩家来说,一定对网页游戏有很深刻的印象。最早,玩家们会在电脑课上接触到基于Flash的网页游戏。在线Flash游戏大都界面优良,操作简单,基本靠鼠标点击或者键盘方向键控制即可完成游戏。虽然当时网络游戏发展也很迅猛,但网页游戏仍旧依靠自身特点很快地吸引了一大批玩家。随着网络更多地服务于社交活动以及更多开放平台的兴起,很多游戏慢慢走向“社交化”,就是将游戏与个人空间结合,在社交网络和平台上主动或被动的通过玩家的“分享”快速地传播,应运而生出社交游戏。
无论是网页游戏还是网络小游戏,都拥有很多玩家受众,经典游戏也有很多,其中不乏有应用Java语言开发的经典游戏,比如俄罗斯方块、超级泡泡龙、贪吃蛇以及任天堂的超级马里奥等等,兼具游戏趣味和休闲益智的连连看便是这其中的佼佼者。
1.2.  Java游戏开发的现状
提到游戏开发,更多地会提到C和C++,这两个语言在游戏开发中有稳定和高效的表现。作为主流开发语言的Java是否也能在游戏开发方面展现良好的一面呢?从理论上讲,Java语言当然能被用来开发游戏,随着Java技术不断的更新发展,Jogl、Java3D等技术的出现,Java程序在显卡愈发强大的硬件加速基础上运行效果显著提升,开发出了许多基于Java的2D、3D游戏和大型的在线游戏。但Java作为开发语言开发游戏仍然被诟病,可以开发游戏不等同于适合开发游戏,因此,要讨论Java开发游戏的优势和意义。
1.2.1.  Java日益趋向成熟
Java语言从面世至今已过20载,它的发展也越来越符合人们对它的要求和需要。企业级应用的实践在某些方面可以看出该语言在大型软件开发方面颇为适用。当Java语言运行效率不再成为诟病时,相信Java语言跨平台、安全性、高抽象的优势在开发的大型游戏软件方面会有很好的表现。
1.2.2.  Java极大的方便了游戏脚本的使用
开发的过程往往是一个需要不断改进的过程,过程中会涉及许多方面的问题,游戏开发也不例外。所以改进的过程是否容易实现对于开发者来说也很重要,而游戏脚本就是为了改进的过程更容易实现。
如果将全部文件和数据写入程序,出现问题后要将整个程序重写编译发布,游戏是会不断地修改的,程序会越变越复杂。如果我们将可重复的数据写入外部文件,游戏引擎开发完毕通过读取外部文件运行的话,这样,当游戏出现问题时,修改外部文件就能解决问题,这样做极大地便利了游戏开发过程。Java本身就可以用来编写游戏脚本,目前也有例如groovy、beanshell等脚本语言可以无缝交互于Java语言,极大的方便了Java游戏编程。
1.2.3.  Java平台无关特性
提起Java语言特性,不得不提它的平台无关性。跨平台一直都是游戏开发面对的一个实际问题,Java在这方面做的相对于其他语言要好一些。当然,跨平台的特性可以使程序员减少工作量,公司减少投资,然而有些时候,“write once run everywhere”也需要付出一定的代价。在现实中,往往会出现这样的情况:对于Java applet来说,即使电脑在硬件上满足程序的要求,可能也无法让程序以同样良好的状态运行在每一台电脑上,除非使用者都是专业人士。利用Java跨平台特性开发软件在实现过程中有利也有弊,但Java在解决跨平台问题上比起其他技术要做的好一些。
1.2.4.  Java在手机游戏开发方面的优势
目前来看,游戏功能在手机功能中占据比重越来越大,手机游戏开发也将占据游戏开发市场更大的份额。手机搭载了各类操作系统也使Java语言因其跨平台的特性在游戏开发中颇受青睐。例如,安卓系统基于Java语言开发,安卓市场在手机市场所占比重很大,所以Java应用还是有一定的需求和不错的前景的。
1.2.5.  Java在网络方面的良好表现
Java在解决网络方面的问题上有不错的优势,体现在两个方面。一方面,基于applet和Java Web Start的游戏很容易更新,不需要用户手动下载新版本。另一方面,Java在网络交互的API相对友好。
在大型网络游戏开发中,分布式系统尤为重要,为了更好的推出硬件产品,Sun公司大力开发了用于网络服务器的Project DarkStar,DarkStar项目系统基础结构的设计方便了大型多玩家在线游戏的开发,并且有健壮的游戏运作能力,能动态的分配可用的服务器资源,还拥有性能改善功能,可以说,Project DarkStar的出现提高了Java在开发网络服务器方面的可能性。
1.2.6.  游戏速度
基于Java的游戏执行效率方面一直颇受争议,在大型游戏应用方面的实例不多,更适用于中小型游戏开发。Java开发的游戏执行速度被很多程序员争议的地方在于Java程序运行时要启动Java虚拟机,具体表现如何,取决于开发项目的大小和软、硬件各方面的表现。与常用来开发游戏的C++语言相比,Java开发出的游戏速度更慢,但Java开发的成本也相对较低。
1.3.  项目开发的目标
游戏软件的最直观的评判是它的操作界面,界面的好坏直接影响游戏玩家对这款游戏的接受程度和喜爱程度。对游戏评判的要求其次是功能齐全与否,功能越丰富,游戏体验的层次越丰富。在游戏操作简单的基础上丰富游戏内容,会使游戏变得更易普及。
针对连连看这款小游戏,本项目的开发目标是:游戏界面整洁美观,实现游戏的可操作性,使游戏操作简单易上手,并且在基础功能实现后增添一些理解简单、操作简单的功能用以丰富游戏内容。
实现连连看游戏具体要做到以下几点:游戏界面美观大方:通过有些界面要能对游戏操作过程有一定的理解;游戏具有一定的可玩性和吸引力:有一定内容,不局限于普通功能;游戏运行稳定可靠。
在设计与实现的过程中,力求对Java语言有新的认识和理解,对面向对象的概念和方法熟练应用和实践。在编写过程中,养成良好的编程习惯和良好的编程风格。在应用所学知识时,巩固理解Java程序设计的基本过程以及线程、网络、界面布局等编程技术。旨在培养分析问题的能力和解决问题的能力,着重培养设计分析、设计方法、设计操作与测试、观察设计过程和理解归纳问题的能力。
通过对游戏的开发,实现游戏的可操作性及美观性,进一步深化面向对象的程序设计思想,以及熟练运用Swing进行编程的能力,为将来的实际工作打下坚实的基础。
1.4.  项目开发的意义
项目开发的意义有两个层面。一方面,在项目开发过程中,开发人员通过将所学所感融入实际应用中,非常有利于学习和掌握开发过程,有利于进一步掌握Java面向对象的程序设计语言的基础知识和技能,有利于更直观地感受到面向过程的开发和面向对象的开发之间的不同点。
另一方面,项目开发往往能够很好地培养和锻炼个人专业技术能力和个人综合素质能力。本次项目开发,是开发人员和所有先辈们共同努力的结晶。在开发过程中,查阅资料,解读国内外优秀学子和老师的智慧结晶,扩展了开发人员解决问题的思路和看待问题的眼界,在实践过程中,感受开发的乐趣,可以更好的验证优秀的结论,也可以在前人的基础上提出新看法新角度,并在实践中证明。
项目开发的过程大大有利于锻炼开发人员对于目标问题的发现、分析以及解决过程中必不可少的沟通能力、分析能力、理解归纳能力、设计实现能力以及观察测试能力等各项能力。
通过此次毕业设计,能充分的展现项目开发的意义:
a)进一步巩固、加深本科四年专业所学所感,掌握基本理论知识,结合理论完成实践,提高综合分析问题,解决问题的能力。
b)开发小型应用系统,掌握运用Java语言编写调试应用程序,训练独立开发应用系统,进行数据处理的综合能力。
c)掌握面向对象程序设计的方法。
d)熟练掌握Java语言的基本语法,灵活运用各种数据类型,对面向对象的程序设计语言的学习有更好的理解。
e)进一步掌握在集成环境下如何调试程序和修改程序。
1.5.  本文章节安排
本文共分七章,具体章节安排如下:
第一章概述了选题背景、项目目标及意义,介绍了Java游戏开发现状,指明连连看游戏设计及实现的基本方向。
第二章概述了开发环境和相关技术,简述了Java和Eclipse,重点介绍了Java在游戏开发中的应用,包括GUI开发、绘图技术、事件处理机制等。
第三章介绍了可行性分析和系统需求分析。首先从技术、经济、社会三方面进行了可行性分析,然后简述了连连看游戏的一般游戏规则。最后,从业务需求、用户需求、功能需求和非功能需求四个方面进行了需求分析。
第四章进行了系统概要设计,主要将系统划分出界面模块和处理模块两大模块,确定了游戏风格和素材。
第五章介绍了详细设计和实现,包括界面、处理模块和游戏连接算法的设计及实现。
第六章进行了系统测试。简述了系统测试相关内容,给出了测试用例和测试结果。
第七章进行了全文总结,一方面总结了在完成过程中学习到的内容,另一方面说明了现存问题,展望了进一步工作。
1.6.  本章小结
本章通过对选题背景、项目目标和意义以及Java游戏开发现状的介绍,阐述了选题原因,指明了连连看设计和实现的基本方向,描述了项目开发意义。

Java语言从面世至今已过20载,它的发展也越来越符合人们对它的要求和需要。企业级应用的实践在某些方面可以看出该语言在大型软件开发方面颇为适用。当Java语言运行效率不再成为诟病时,相信Java语言跨平台、安全性、高抽象的优势在开发的大型游戏软件方面会有很好的表现。
1.2.2.  Java极大的方便了游戏脚本的使用
开发的过程往往是一个需要不断改进的过程,过程中会涉及许多方面的问题,游戏开发也不例外。所以改进的过程是否容易实现对于开发者来说也很重要,而游戏脚本就是为了改进的过程更容易实现。
如果将全部文件和数据写入程序,出现问题后要将整个程序重写编译发布,游戏是会不断地修改的,程序会越变越复杂。如果我们将可重复的数据写入外部文件,游戏引擎开发完毕通过读取外部文件运行的话,这样,当游戏出现问题时,修改外部文件就能解决问题,这样做极大地便利了游戏开发过程。Java本身就可以用来编写游戏脚本,目前也有例如groovy、beanshell等脚本语言可以无缝交互于Java语言,极大的方便了Java游戏编程。
1.2.3.  Java平台无关特性
提起Java语言特性,不得不提它的平台无关性。跨平台一直都是游戏开发面对的一个实际问题,Java在这方面做的相对于其他语言要好一些。当然,跨平台的特性可以使程序员减少工作量,公司减少投资,然而有些时候,“write once run everywhere”也需要付出一定的代价。在现实中,往往会出现这样的情况:对于Java applet来说,即使电脑在硬件上满足程序的要求,可能也无法让程序以同样良好的状态运行在每一台电脑上,除非使用者都是专业人士。利用Java跨平台特性开发软件在实现过程中有利也有弊,但Java在解决跨平台问题上比起其他技术要做的好一些。
1.2.4.  Java在手机游戏开发方面的优势
目前来看,游戏功能在手机功能中占据比重越来越大,手机游戏开发也将占据游戏开发市场更大的份额。手机搭载了各类操作系统也使Java语言因其跨平台的特性在游戏开发中颇受青睐。例如,安卓系统基于Java语言开发,安卓市场在手机市场所占比重很大,所以Java应用还是有一定的需求和不错的前景的。
1.2.5.  Java在网络方面的良好表现
Java在解决网络方面的问题上有不错的优势,体现在两个方面。一方面,基于applet和Java Web Start的游戏很容易更新,不需要用户手动下载新版本。另一方面,Java在网络交互的API相对友好。
在大型网络游戏开发中,分布式系统尤为重要,为了更好的推出硬件产品,Sun公司大力开发了用于网络服务器的Project DarkStar,DarkStar项目系统基础结构的设计方便了大型多玩家在线游戏的开发,并且有健壮的游戏运作能力,能动态的分配可用的服务器资源,还拥有性能改善功能,可以说,Project DarkStar的出现提高了Java在开发网络服务器方面的可能性。
1.2.6.  游戏速度
基于Java的游戏执行效率方面一直颇受争议,在大型游戏应用方面的实例不多,更适用于中小型游戏开发。Java开发的游戏执行速度被很多程序员争议的地方在于Java程序运行时要启动Java虚拟机,具体表现如何,取决于开发项目的大小和软、硬件各方面的表现。与常用来开发游戏的C++语言相比,Java开发出的游戏速度更慢,但Java开发的成本也相对较低。
1.3.  项目开发的目标
游戏软件的最直观的评判是它的操作界面,界面的好坏直接影响游戏玩家对这款游戏的接受程度和喜爱程度。对游戏评判的要求其次是功能齐全与否,功能越丰富,游戏体验的层次越丰富。在游戏操作简单的基础上丰富游戏内容,会使游戏变得更易普及。
针对连连看这款小游戏,本项目的开发目标是:游戏界面整洁美观,实现游戏的可操作性,使游戏操作简单易上手,并且在基础功能实现后增添一些理解简单、操作简单的功能用以丰富游戏内容。
实现连连看游戏具体要做到以下几点:游戏界面美观大方:通过有些界面要能对游戏操作过程有一定的理解;游戏具有一定的可玩性和吸引力:有一定内容,不局限于普通功能;游戏运行稳定可靠。
在设计与实现的过程中,力求对Java语言有新的认识和理解,对面向对象的概念和方法熟练应用和实践。在编写过程中,养成良好的编程习惯和良好的编程风格。在应用所学知识时,巩固理解Java程序设计的基本过程以及线程、网络、界面布局等编程技术。旨在培养分析问题的能力和解决问题的能力,着重培养设计分析、设计方法、设计操作与测试、观察设计过程和理解归纳问题的能力。
通过对游戏的开发,实现游戏的可操作性及美观性,进一步深化面向对象的程序设计思想,以及熟练运用Swing进行编程的能力,为将来的实际工作打下坚实的基础。
1.4.  项目开发的意义
项目开发的意义有两个层面。一方面,在项目开发过程中,开发人员通过将所学所感融入实际应用中,非常有利于学习和掌握开发过程,有利于进一步掌握Java面向对象的程序设计语言的基础知识和技能,有利于更直观地感受到面向过程的开发和面向对象的开发之间的不同点。
另一方面,项目开发往往能够很好地培养和锻炼个人专业技术能力和个人综合素质能力。本次项目开发,是开发人员和所有先辈们共同努力的结晶。在开发过程中,查阅资料,解读国内外优秀学子和老师的智慧结晶,扩展了开发人员解决问题的思路和看待问题的眼界,在实践过程中,感受开发的乐趣,可以更好的验证优秀的结论,也可以在前人的基础上提出新看法新角度,并在实践中证明。
项目开发的过程大大有利于锻炼开发人员对于目标问题的发现、分析以及解决过程中必不可少的沟通能力、分析能力、理解归纳能力、设计实现能力以及观察测试能力等各项能力。
通过此次毕业设计,能充分的展现项目开发的意义:
a)进一步巩固、加深本科四年专业所学所感,掌握基本理论知识,结合理论完成实践,提高综合分析问题,解决问题的能力。
b)开发小型应用系统,掌握运用Java语言编写调试应用程序,训练独立开发应用系统,进行数据处理的综合能力。
c)掌握面向对象程序设计的方法。
d)熟练掌握Java语言的基本语法,灵活运用各种数据类型,对面向对象的程序设计语言的学习有更好的理解。
e)进一步掌握在集成环境下如何调试程序和修改程序。
1.5.  本文章节安排
本文共分七章,具体章节安排如下:
第一章概述了选题背景、项目目标及意义,介绍了Java游戏开发现状,指明连连看游戏设计及实现的基本方向。
第二章概述了开发环境和相关技术,简述了Java和Eclipse,重点介绍了Java在游戏开发中的应用,包括GUI开发、绘图技术、事件处理机制等。
第三章介绍了可行性分析和系统需求分析。首先从技术、经济、社会三方面进行了可行性分析,然后简述了连连看游戏的一般游戏规则。最后,从业务需求、用户需求、功能需求和非功能需求四个方面进行了需求分析。
第四章进行了系统概要设计,主要将系统划分出界面模块和处理模块两大模块,确定了游戏风格和素材。
第五章介绍了详细设计和实现,包括界面、处理模块和游戏连接算法的设计及实现。
第六章进行了系统测试。简述了系统测试相关内容,给出了测试用例和测试结果。
第七章进行了全文总结,一方面总结了在完成过程中学习到的内容,另一方面说明了现存问题,展望了进一步工作。
1.6.  本章小结
本章通过对选题背景、项目目标和意义以及Java游戏开发现状的介绍,阐述了选题原因,指明了连连看设计和实现的基本方向,描述了项目开发意义。

本站所有资源均由网友共享,仅用于参考学习用,请勿直接商用,如有侵权,请联系网站客服删除相关资源。若由于商用引起版权纠纷,一切责任均由使用者承担。
猿码素材 » 基于Java Swing的连连看游戏设计与实现

Leave a Reply

欢迎加入猿码素材,上传源码收益100%归作者所有!

立即加入 了解详情