基于JAVA的拼图游戏毕业设计.docx
- 文档编号:9416245
- 上传时间:2023-02-04
- 格式:DOCX
- 页数:32
- 大小:514.03KB
基于JAVA的拼图游戏毕业设计.docx
《基于JAVA的拼图游戏毕业设计.docx》由会员分享,可在线阅读,更多相关《基于JAVA的拼图游戏毕业设计.docx(32页珍藏版)》请在冰豆网上搜索。
基于JAVA的拼图游戏毕业设计
基于JAVA的拼图游戏
基于JAVA的拼图游戏
摘要
JAVA语言是由美国sun公司开发的一种完全面向对象的程序设计语言,它由c++语言发展而来,但比c++语言简单。
JAVA语言具有简单、与平台无关、高效、健壮、安全、多线程等特点,是当前网络编程中的首选语言。
本文主要通过JAVA语言来开发一个小游戏,以实现其相关功能。
随着社会的发展,计算机已经成为人么日常生活,学习办公中不可缺少的一部分,并在各个领域发挥着重要的作用。
在计算机迅猛发展的影响下,计算机游戏也随之兴盛起来。
拼图游戏就是其中一中,它适用范围广,老少皆宜。
该游戏不仅可锻炼动手能力,观察能力,而且还能培养人与人之间的协作能力。
它是一个应用程序,它的游戏规则和win7的拼图游戏是一样的。
将一张图片分割成16张小图,将除去左上角的其余15张图片放入一个4*4的网格内,通过鼠标的点击图片来切换空白处对换位置,让其复原成原来的顺序,游戏就完成了。
可以选择下一张来切换另一张图片,或者按开局重新开始游戏。
关键词:
JAVA2平台标准版,JAVA语言,小应用程序
JigsawpuzzlebasedonJava
abstract
JAVAlanguageisdevelopedbythesunafullyobject-orientedprogramminglanguage,itisdevelopedbyc++language,butsimplerthanc++language.TheJAVAlanguagehasasimple,platform-independent,efficient,robustandsecurity,multithreading,isthepreferredlanguageinthecurrentnetworkprogramming.ThispapermainlythroughtheJAVAlanguagetodevelopasmallgame,inordertorealizeitsrelatedfunctions.
Withthedevelopmentofthesociety,thecomputerhasbecomethepeopledailylife,anindispensablepartoflearningintheoffice,andplayanimportantroleinallfields.Undertheinfluenceoftherapiddevelopmentofcomputer,computergameshasbeenthriving.Jigsawpuzzleisamongthemone,itsapplicabilityiswideandforyoungandold.Thegameisnotonlycanexerciseability,observationability,butalsocancultivateinterpersonalcooperationability.ThispuzzlegameisbasedontheJ2SEplatformdevelopment,itisanapplication,itistherulesofthegameandwin7puzzlegameisthesame.Picturewillbedividedinto16images,willremovetheupperleftcorneroftherestofthe15imagesina4*4mesh,theblankspacewiththemouseclickontheimagetoswitchswitchposition,makeitsrecoveryastheoriginalsequence,thegameisfinished.Canchoosethenexttoswitchtheotherpicture,orpressstarttostartthegame.
Keywords:
Java2Platform,StandardEdition,JAVAlanguage,application.
第一章概述
1.1项目开发的背景与国内外研究现状
随着信息技术的飞速发展、蓬勃进步,同时随着国际互连网与相关系统的迅速普及,不同国家、行业被Internet连接在一起,互相通信,共享全世界的计算机资源和信息。
如何保证不同格式的资料或信息能够安全、高速、自由的交流、传输就成为一个迫切解决的问题。
1996年Sun公司Java语言的正式发表可以说是Internet的一次技术革命,Sun公司的一位营销天才把一门试验性的跨平台语言由象征踏实的Oak(橡树),改名为香气四溢的Java(咖啡)时,可能他没有想到这门语言能有后来的辉煌。
事实上,如果现在Sun想为这门语言改名,以准确体现其在计算机行业的地位,似乎Oak更形象。
今天,虽然Java语言并非真正意义上的遍地开花,但它已经出现在众多场合和设备中,而且它享有运行稳定、设计精良的美名。
它实现了程序的运行不受平台的限制,在网络上不仅可以进行无格式的资料交换,还可以进行程序交换。
Java语言具备了其它语言所没有的独特优势,它一出现就马上受到了各界人士的欢迎。
Java的出现无疑给计算机行业带来了一股清风,它带来了许多新鲜而有趣的思想和观念。
JavaSwing组件在游戏的实现上扮演着不可或缺的重要角色,Swing是一个用于开发Java应用程序用户界面的开发工具包。
它以抽象窗口工具包(AWT)为基础使跨平台应用程序可以使用任何可插拔的外观风格。
SwingwasdevelopedtoprovideamoresophisticatedsetofGUIcomponentsthantheearlierAbstractWindowToolkit.Swing提供了本机的外观和手感,模拟多个平台的外观和感觉,同时还支持一个可插拔的外观和手感,使应用程序有一个拥有外观和感觉的基础平台。
IthasmorepowerfulandflexiblecomponentsthanAWT.它具有比AWT更强大和灵活的组件。
Inadditiontofamiliarcomponentssuchasbuttons,checkboxandlabels,Swingprovidesseveraladvancedcomponentssuchastabbedpanel,scrollpanes,trees,tablesandlists.除了熟悉的部件,如按钮,复选框和标签,Swing提供了一些先进的零部件,如卡式面板,滚动窗格,树,表,列出,因此Swing深受开发人员青睐。
除此之外,他们只用很少的代码就可以利用Swing丰富、灵活的功能和模块化组件来创建优雅的用户界面。
因此,可以推断JavaSwing组件在未来游戏等各个相关领域依旧会保持良好的发展势头,发扬其优势,更好的服务于Java游戏产业。
[1]
1.2项目开发的目的与意义
现代科学技术的发展,改变了人类的生活,作为新世纪的大学生,应该站在时代发展的前沿,掌握最先进的现代科学技术知识,以适应社会的发展,应能够独立地完成各种应要面临的任务,成为一名有创新意识的新型人才。
目前,很多新的技术领域都涉及到了Java语言。
Java语言是面向对象编程,并涉及到网络、多线程等重要的基础知识,因此Java语言也是学习面向对象编程和网络编程的首选语言。
该课题的主要目的是使Java游戏开发者深入理解所学的Java语言,并实践于该游戏设计中,深刻体会以前所学的有关Java程序设计方面的语言基础、异常处理、事件处理、应用程序以及图形用户界面设计等方面的知识,加深对结构化设计思想的理解,能对系统功能进行分析,并设计合理的模块化结构等。
学会使用Java系统,其中包括对程序的调试、运行、保存等知识的运用,还包括提高程序开发功能,能运用合理的方法简化Java程序的操作,开发过程中应培养分析问题、解决问题的能力。
基于Java组件技术的拼图游戏软件是一款具有娱乐性、益智性、便捷性的游戏软件。
此软件可以使用户放松心情,享受于拼图游戏的乐趣之中。
该游戏软件可以让用户选择适合自己的主题与难度,根据用户的不同水平,锻炼其图片记忆能力以及拼凑还原能力。
游戏结束后亦可让用户清晰了解到自己的游戏状态水平,便于调整自己对这款游戏的新的难度要求。
另外要求软件设计精致,画面亲和,人机交互高效快捷,能够给用户带来人性化的服务。
软件面向的主流群体集中在年轻人,但也适宜儿童或者老人使用,提供了适宜各类用户群体的图片风格与难度设置。
不论是旨在轻松娱乐,还是益智教育的目的,该软件都是一款家庭生活中以及学习生活的必备软件。
设计并实现基于Java组件技术的拼图游戏软件作为自己的毕业课题设计是对学校基础课程、专业课程以及实践课程的一次综合性考查。
此外,JavaSwing组件在单机游戏平台上的应用一直处于热门,这次的系统全面的实践可以说是一次很好的锻炼,会对以后工作生活带来积极的影响。
1.3系统开发方法介绍
目前比较成熟的系统开发方法有:
生命周期法、原型法、面向对象法等。
生命周期法:
把一个信息系统从其提出、分析、设计和使用,直到停止使用的整个生存期视为一个生命周期。
整个生命周期划分为五个主要工作阶段:
可行性分析阶段、系统分析阶段、系统设计阶段、系统实施阶段和系统运行、维护与评价阶段。
通常采用结构化系统分析和系统设计方法,自上而下分析、设计,强调开发过程的整体性和全局性;开发过程在时间上基本按阶段进行,任务明确;结合用户需求进行开发;开发周期长,维护不方便。
适用于开发需求较明确固定的信息系统。
原型法:
是系统开发者在初步了解用户需求的基础上,开发出能实现系统最基本功能的一个原型,再根据用户对原型使用与评价的意见,提出修改方案,修改完善原型,如此反复多次,直到得到用户满意的最终系统为止。
开发过程以用户为中心,开发周期短。
适用于开发需求不够明确或不断变化的软件。
面向对象法:
以类,类的继承,聚集等概念描述客观事物以及联系。
为系统的开发提供了全新的思路,面向对象方法以对象为中心。
其特征主要有模块性,继承性和类比性,动态连接性。
面向对象开发方法的开发过程:
1.系统调查和需求分析:
对系统将要面临的具体管理问题以及用户对系统开发的需求进行调查研究,即先弄清要干什么的问题;
2.分析问题的性质和求解问题:
在繁杂的问题域中抽象地识别出对象以及其行为、结构、属性、方法等。
一般称之为面向对象的分析,即OOA;
3.整理问题:
对分析的结果作进一步的抽象、归类、整理,并最终以范式的形式将它们确定下来。
一般称之为面向对象的设计,即OOD;
4.程序实现:
用面向对象的程序设计语言将上一步整理的范式直接映射(即直接用程序设计语言来取代)为应用软件。
一般称之为面向对象的程序,即OOP;
5.识别客观世界中的对象以及行为,分别独立设计出各个对象的实体;分析对象之间的联系和相互所传递的信息,由此构成信息系统的模型;由信息系统模型转换成软件系统的模型,对各个对象进行归并和整理,并确定它们之间的联系;由软件系统模型转换成目标系统。
[2]
面向对象开发方法的应用范围:
在大型管理信息系统开发中,若不经自顶向下的整体划分,而是一开始就自底向上地采用OO方法开发系统,会造成系统结构不合理、各部分关系失调等等问题。
OO方法和结构化方法在系统开发中相互依存、不可替代。
综上所述,由于面向对象开发方法主要针对于各类管理系统的开发,所以该毕业设计中采用面向对象方法与原型法相结合的方法进行系统开发,主要也因为原型法是近几年发展起来的一种开发方法。
该方法从一个初始信息要求的集合出发,在发展中逐步完善信息系统,更简单、易学,同时也更适合该系统的开发。
使用原型法开发大体有以下几个步骤:
1.确定系统需求;
2.设计初始原型,包括确定需求以及开发工作模型,例如屏幕格式、功能菜单格式以及对关键数据和功能的说明等;
3.对初始原型进行需求迭代,不断进行修正或改进,直至得到一个用户满意的原型,从而终止原型迭代过程;
4.原型效果考察,考察用户新加入的需求信息和组成成分的严格说明信息,看其对原型效果的影响,是否影响到原型的有效性,如果导致原型失败,应加以修正和改进;
原型法的生命周期提供了一种完整的、灵活的、近于动态的需求定义技术。
它综合了所有提出的必要需求,建立原型就近似于预先需求的规格说明。
对原型的工作模型可以进行必要的剪裁和组织,以便更接近目标系统。
它可以综合用户、领导和原型开发人员的各方需求。
[3]
第二章项目开发语言及开发环境
2.1JAVA语言
JAVA是SunMicrosystem公司开发的编程语言,是一个简单,面向对象,分布式,解释性,强壮,安全,与系统无关,可移植,高性能,多线程和动态的语言。
下面简单介绍一下JAVA的基本特点。
[4][5]
(1)简单性
JAVA与C++语言非常相近,但Java比C++简单,它抛弃了C++中的一些不是绝对必要的功能,如头文件、预处理文件、指针、结构、运算符重载、多重继承以及自动强迫同型。
JAVA实现了自动的垃圾收集,简化了内存管理的工作。
(2)面向对象
JAVA提供了简单的类机制和动态的构架模型。
对象中封装了它的状态变量和方法,很好地实现了模块化和信息隐藏;而类则提供了一类对象的原型,通过继承和重载机制,子类可以使用或重新定义父类或超类所提供的方法,从而既实现了代码的复用,又提供了一种动态的解决方案。
(3)多线程
多线程使应用程序可以同时进行不同的操作,处理不同的事件。
在多线程机制中,不同的线程处理不同的任务,他们之间互不干涉,不会由于一处等待影响其他部分,这样容易实现网络上的实时交互操作。
(4)分布性
Java是面向网络的语言。
通过它提供的类库可以处理TCP/IP协议,用户可以通过URL地址在网络上很方便的访问其他对象。
(5)体系结构中立
Java是一种网络语言,为使Java程序能在网络的任何地方运行,Java解释器生成与体系结构无关的字节码结构的文件格式。
为了使Java的应用程序能不依赖于具体的系统,Java语言环境还提供了用于访问底层操作系统功能的类组成的包,当程序使用这些包时,可以确保它能运行在各种支持Java的平台上。
(6)安全性
用于网络、分布环境下的Java必须要防止病毒的入侵,Java不支持指针,一切对内存的访问都必须通过对象的实例变量来实现,这样就防止了程序员使用欺骗手段访问对象的私有成员,同时也避免了指针操作中容易产生的错误。
(7)JAVA中输入/输出流概念
过滤流DataInputStream和DataOutputStream除了分别作为FilterInputStream和FilterOutputStream的子类外,还分别实现了接口DataInput和DataOutput。
接口DataInput中定义的方法主要包括从流中读取基本类型的数据、读取一行数据、或者读取指定长度的字节数,如readBoolean()、readInt()、readLine()、readFully()等。
接口DataOutput中定义的方法主要是向流中写入基本类型的数据或者写入一定长度的字节数组,如writeChar()、writeDouble()。
DataInputStream可以从所连接的输入流中读取与机器无关的基本类型数据,用以实现一种独立于具体平台的输入方式;DataOutputStream可以向所连接的输出流写入基本类型的数据。
2.2Eclipse简介
Eclipse是一个开放源代码的、基于Java的可扩展开发平台。
就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。
幸运的是,Eclipse附带了一个标准的插件集,包括Java开发工具(JavaDevelopmentTools,JDT)。
[6]
Eclipse是著名的跨平台的自由集成开发环境(IDE)。
最初主要用来Java语言开发,但是目前亦有人通过插件使其作为其他计算机语言比如C++和Python的开发工具。
Eclipse的本身只是一个框架平台,但是众多插件的支持使得Eclipse拥有其他功能相对固定的IDE软件很难具有的灵活性。
Eclipse最初由OTI和IBM两家公司的IDE产品开发组创建,起始于1999年4月。
IBM提供了最初的Eclipse代码基础,包括Platform、JDT和PDE。
目前由IBM牵头,围绕着Eclipse项目已经发展成为了一个庞大的Eclipse联盟,有150多家软件公司参与到Eclipse项目中,其中包括Borland、RationalSoftware、RedHat及Sybase等。
Eclipse是一个开发源码项目,它其实是VisualAgeforJava的替代品,其界面跟先前的VisualAgeforJava差不多,但由于其开放源码,任何人都可以免费得到,并可以在此基础上开发各自的插件,因此越来越受人们关注。
近期还有包括Oracle在内的许多大公司也纷纷加入了该项目,并宣称Eclipse将来能成为可进行任何语言开发的IDE集大成者,使用者只需下载各种语言的插件即可。
Eclipse是一个开放源代码的软件开发项目,专注于为高度集成的工具开发提供一个全功能的、具有商业品质的工业平台。
它主要由Eclipse项目、Eclipse工具项目和Eclipse技术项目三个项目组成,具体包括四个部分组成——EclipsePlatform、JDT、CDT和PDE。
JDT支持Java开发、CDT支持C开发、PDE用来支持插件开发,EclipsePlatform则是一个开放的可扩展IDE,提供了一个通用的开发平台。
它提供建造块和构造并运行集成软件开发工具的基础。
EclipsePlatform允许工具建造者独立开发与他人工具无缝集成的工具从而无须分辨一个工具功能在哪里结束,而另一个工具功能在哪里开始。
本次程序中环境为JDK1.6,同时运用了eclipse开发工具。
第三章可行性分析及总体设计原则
3.1可行性分析所采用的方法和步骤
通过研究分析拼图游戏所具备的能力及实现的方法来确定主体结构。
利用现阶段我所能达到的能力,以最简洁、最容易的办法,边开发边测试边修改,实现一个初级游戏软件。
3.2评价尺度
由于本软件是一个初级产品,对其要求不是太苛刻,所以能够保证达到拼图游戏的一般功能。
3.3可行性分析
为避免开发失误,保证新系统的成功开发和运行,从技术、经济和社会三方面对本系统的可行性进行了分析和研究。
3.3.1技术可行性
本系统的开发基于Swing技术的拼图游戏开发。
Swing可以轻松开发功能丰富的应用程序。
现有的技术已较为成熟,硬件、软件的性能要求、环境条件等各项条件良好,利用现有技术条件可以达到该系统的功能目标。
本人在学校期间已经掌握Java设计思想和代码编写。
同时,考虑给予的开发期限也较为充裕,预计系统是可以在规定期限内完成开发的。
因此,java拼图游戏具有技术可行性。
3.3.2经济可行性
具有信息化的处理设施,并且拥有支持本系统的应用平台。
因此无需再投入资金购买其他设施。
系统的开发基于本人对程序开发的实践学习而来,无需资金投入,并且软件开发过程投入的成本不高,因此开发经费完全可以接受。
游戏开发成功后可以提供娱乐、休闲等。
因此,java拼图游戏开发也具有经济可行性。
3.3.3社会可行性
本系统的社会可行性主要从法律因素、用户使用可行性两方面进行研究。
(1)法律因素
系统的软件设计是在独立的环境下完成的,无可供抄袭的软件产品。
(2)用户使用可行性
本系统对用户的要求,除了需要具备在MicrosoftWindows平台上使用个人电脑的知识外,并不需要特别的技术能力。
在投入使用前,无需对操作系统的人员进行培训。
这样既减少投入成本又简化了操作环节。
因此,java拼图游戏也具有社会可行性。
3.4总体设计原则
本系统为了设计、实现和后期维护的方便,以及系统用户使用的便利,所以必须采取一定的设计原则。
其主要设计原则有:
简单性:
在实现系统的功能的同时,尽量让系统操作简单易懂,这对于一个系统来说是非常重要的。
针对性:
本系统设计是针对java拼图游戏的需求定向开发设计,所以具有专业突出和很强的针对性。
实用性:
要求本系统能够满足java拼图游戏的需要,因此具有良好的实用性。
一致性:
页面整体设计风格以及命名规则的一致性:
整体框架和用图用色风格及变量、类名和其他元素的命名规则保持一致。
功能一致性:
完成同样的功能应该尽量使用同样的元素。
元素风格一致性:
界面元素的美观风格、摆放位置在同一个界面和不同界面之间都应该是一致的。
变量命名规则的一致性:
变量应该用统一的规则进行命名,做到任意变量均能从上下文推断其义。
先进性:
本系统采用eclipse做为开发工具,使用swing技术开发,软件具有良好的兼容性和系统稳定性。
因此本设计具有良好的先进性。
[7][8]
第四章需求分析
4.1OOA方法介绍
面向对象的分析方法(OOA),是在一个系统的开发过程中进行了系统业务调查以后,按照面向对象的思想来分析问题。
OOA与结构化分析有较大的区别。
OOA所强调的是在系统调查资料的基础上,针对OO方法所需要的素材进行的归类分析和整理,而不是对管理业务现状和方法的分析。
在用OOA具体地分析一个事物时,大致上遵循如下五个基本步骤:
第一步,确定对象和类。
这里所说的对象是对数据及其处理方式的抽象,它反映了系统保存和处理现实世界中某些事物的信息的能力。
类是多个对象的共同属性和方法集合的描述,它包括如何在一个类中建立一个新对象的描述。
第二步,确定结构(structure)。
结构是指问题域的复杂性和连接关系。
类成员结构反映了泛化-特化关系,整体-部分结构反映整体和局部之间的关系。
第三步,确定主题(subject)。
主题是指事物的总体概貌和总体分析模型。
第四步,确定属性(attribute)。
属性就是数据元素,可用来描述对象或分类结构的实例,可在图中给出,并在对象的存储中指定。
第五步,确定方法(method)。
方法是在收到消息后必须进行的一些处理方法:
方法要在图中定义,并在对象的存储中指定。
对于每个对象和结构来说,那些用来增加、修改、删除和选择一个方法本身都是隐含的(虽然它们是要在对象的存储中定义的,但并不在图上给出),而有些则是显示的。
[9][10]
4.2功能需求
用户对于该拼图游戏的需求主要体现在以下几个功能:
1.实现程序GUI图形界面;
2.实现游戏开始、重来、退出等功能;
3.实现鼠标或键盘事件响应模块的功能;
4.实现游戏主要算法;
5.实现输赢自动判别功能;
6.实现查看原图功能;
4.3环境需求
操作系统可以有以下几种:
WinXP/WinVista/Win7。
硬件要求:
奔腾四处理器,主频2.0GHz,512M以上内存。
4.4可靠性需求
要保证该拼图游戏
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 JAVA 拼图游戏 毕业设计